1

我有一个系统,有 2 个角色(管理员和用户)。使用 Security Symfony2 组件进行的身份验证。管理员不知道用户密码。但他应该能够以用户身份登录系统。我有一个包含所有用户的网格,并且想要添加“以该用户身份登录”之类的按钮。我怎样才能做到?

我试过了,但没有 prfit:

$userRepo = $this->getDoctrine()->getRepository('FrameFoxBackEndBundle:User');
$this->get('security.context')->getToken()->setUser($userRepo->find(1));
4

3 回答 3

11

为什么不使用内置切换用户选项?

于 2012-09-07T13:51:46.053 回答
4

我使用这段代码:

// use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken
$entity = $userRepo->find(1);

// Authentication
// create the authentication token
$token = new UsernamePasswordToken(
    $entity,
    null,
    'user_db',
    $entity->getRoles());
// give it to the security context
$this->container->get('security.context')->setToken($token);
于 2012-09-07T09:24:18.643 回答
0

我会以这种方式使用 Symfony 核心支持。看看: http ://symfony.com/doc/current/cookbook/security/impersonating_user.html 。

您定义一个允许切换用户的角色,以及允许您切换用户的 url 中的参数。

于 2014-05-19T19:55:36.173 回答