當前位置: 首頁>>代碼示例>>PHP>>正文


PHP SecurityFacade::getRequestAcl方法代碼示例

本文整理匯總了PHP中Oro\Bundle\SecurityBundle\SecurityFacade::getRequestAcl方法的典型用法代碼示例。如果您正苦於以下問題:PHP SecurityFacade::getRequestAcl方法的具體用法?PHP SecurityFacade::getRequestAcl怎麽用?PHP SecurityFacade::getRequestAcl使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Oro\Bundle\SecurityBundle\SecurityFacade的用法示例。


在下文中一共展示了SecurityFacade::getRequestAcl方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: onGetListBefore

 /**
  * Add ACL check to API get list query criteria
  *
  * @param GetListBefore $event
  */
 public function onGetListBefore(GetListBefore $event)
 {
     $acl = $this->securityFacade->getRequestAcl($this->request, true);
     if ($acl && $event->getClassName() === $acl->getClass()) {
         $event->setCriteria($this->aclHelper->applyAclToCriteria($event->getClassName(), $event->getCriteria(), $acl->getPermission()));
     }
 }
開發者ID:xamin123,項目名稱:platform,代碼行數:12,代碼來源:ApiEventListener.php

示例2: apply

 /**
  * Stores the object in the request.
  *
  * @param Request                $request
  * @param ConfigurationInterface $configuration
  * @return bool
  * @throws AccessDeniedException When User doesn't have permission to the object
  */
 public function apply(Request $request, ConfigurationInterface $configuration)
 {
     $request->attributes->set('_oro_access_checked', false);
     $isSet = parent::apply($request, $configuration);
     if ($this->securityFacade && $isSet) {
         $object = $request->attributes->get($configuration->getName());
         if ($object) {
             $granted = $this->securityFacade->isRequestObjectIsGranted($request, $object);
             if ($granted === -1) {
                 $acl = $this->securityFacade->getRequestAcl($request);
                 throw new AccessDeniedException('You do not get ' . $acl->getPermission() . ' permission for this object');
             } elseif ($granted === 1) {
                 $request->attributes->set('_oro_access_checked', true);
             }
         }
     }
     return $isSet;
 }
開發者ID:Maksold,項目名稱:platform,代碼行數:26,代碼來源:DoctrineParamConverter.php

示例3: testGeWrongRequestAcl

 public function testGeWrongRequestAcl()
 {
     $request = new Request();
     $request->attributes->add(['_controller' => 'wrong controller']);
     $this->annotationProvider->expects($this->never())->method('findAnnotation');
     $this->classResolver->expects($this->never())->method('isEntity');
     $this->classResolver->expects($this->never())->method('getEntityClass');
     $this->assertNull($this->facade->getRequestAcl($request, true));
 }
開發者ID:Maksold,項目名稱:platform,代碼行數:9,代碼來源:SecurityFacadeTest.php


注:本文中的Oro\Bundle\SecurityBundle\SecurityFacade::getRequestAcl方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。