1

私は2つの役割(管理者とユーザー)を持つシステムを持っています。Security Symfony2 コンポーネントを使用した認証。管理者はユーザーのパスワードを知りません。ただし、ユーザーとしてシステムにログインできる必要があります。すべてのユーザーを含むグリッドがあり、「このユーザーとしてログイン」などのボタンを追加したいと考えています。どうすれば作れますか?

私は試しましたが、利益はありません:

$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 に答える