Symfony2 - 任何用户的管理员授权

时间:2014-02-05 16:11:52

标签: php symfony

我们的用户会在网站上发送包含错误和错误的反馈。只能在用户帐户上看到一些错误。 Symfony / FOS是否有可能实现任何用户的授权?当然,这只能由具有ROLE_SUPER_ADMIN的用户完成。 我看到了类似的东西:

public function authAction()
{
    $usermanager = $this->container->get('userManager');
    /** @var Entity/User $user */
    $user = $usermanager->findSomeUser();
    if ($currentUserIsGranted) {

        /** do authorization */

        return new RedirectResponse('/');
    }
}

2 个答案:

答案 0 :(得分:0)

您必须采取行动,例如

public function authAction()
{
    if (false === $this->get('security.context')->isGranted('ROLE_SUPER_ADMIN')) {
        throw new AccessDeniedException();
    }

}

您可以在How to secure any Service or Method in your Application

中阅读更多内容

答案 1 :(得分:0)

不确定我是否理解您的问题,但Symfony2安全层采用“模拟”功能,允许您临时切换到其他用户。

看一下这个:http://symfony.com/doc/current/cookbook/security/impersonating_user.html