当前位置: 首页>>代码示例>>PHP>>正文


PHP SecurityFacade::isRequestObjectIsGranted方法代码示例

本文整理汇总了PHP中Oro\Bundle\SecurityBundle\SecurityFacade::isRequestObjectIsGranted方法的典型用法代码示例。如果您正苦于以下问题:PHP SecurityFacade::isRequestObjectIsGranted方法的具体用法?PHP SecurityFacade::isRequestObjectIsGranted怎么用?PHP SecurityFacade::isRequestObjectIsGranted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Oro\Bundle\SecurityBundle\SecurityFacade的用法示例。


在下文中一共展示了SecurityFacade::isRequestObjectIsGranted方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: 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

示例2: testIsRequestObjectIsGranted

 /**
  * @dataProvider isRequestObjectIsGrantedProvider
  */
 public function testIsRequestObjectIsGranted($requestController, $isGrant, $result)
 {
     $object = new \stdClass();
     $request = new Request();
     $request->attributes->add(['_controller' => $requestController]);
     $acl = new Acl(['id' => 1, 'class' => 'OroTestBundle:Test', 'type' => 'entity', 'permission' => 'TEST_PERMISSION']);
     $this->annotationProvider->expects($this->any())->method('findAnnotation')->will($this->returnValue($acl));
     $this->classResolver->expects($this->any())->method('isEntity')->with('OroTestBundle:Test')->will($this->returnValue(true));
     $this->classResolver->expects($this->any())->method('getEntityClass')->with('OroTestBundle:Test')->will($this->returnValue('\\stdClass'));
     $this->securityContext->expects($this->any())->method('isGranted')->with($this->equalTo('TEST_PERMISSION'), $this->identicalTo($object))->will($this->returnValue($isGrant));
     $this->assertEquals($result, $this->facade->isRequestObjectIsGranted($request, $object));
 }
开发者ID:Maksold,项目名称:platform,代码行数:15,代码来源:SecurityFacadeTest.php

示例3: checkObjectAccess

 /**
  * @param $object
  * @throws AccessDeniedException
  */
 protected function checkObjectAccess($object)
 {
     if (is_object($object) && $this->securityFacade->isRequestObjectIsGranted($this->request, $object) === -1) {
         throw new AccessDeniedException();
     }
 }
开发者ID:Maksold,项目名称:platform,代码行数:10,代码来源:ApiEventListener.php


注:本文中的Oro\Bundle\SecurityBundle\SecurityFacade::isRequestObjectIsGranted方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。