2

流れる問題があります。私は symfony 2 で作成された Web サイトを持っています。認証フォームに合格した後、ユーザーデータを変更できるプロファイル情報ウィンドウが表示されます。ユーザー名。

問題は、ユーザー名を変更した後、ウェブサイトで再度ログインするようになることです。再度ログインする必要がないようにするにはどうすればよいですか。

4

1 に答える 1

3

ユーザー名は、symfony によってセッションに保存され、認証後にすべてのページ ビューでユーザー データ (ユーザー エンティティ) が読み込まれます。認証に使用されたユーザー名ではユーザー データを読み込めなくなったため、再度ログインするよう求められます。セッションに保存されているユーザー名 ( token ) の更新を試すことができます。

$oldToken = $this->container->get('security.context')->getToken();

// create the authentication token
$token = new UsernamePasswordToken(
    $user, //user object with updated username
    null,
    $oldToken->getProviderKey(),
    $oldToken->getRoles());
// update the token in the security context
$this->container->get('security.context')->setToken($token);
于 2013-08-09T14:41:36.087 に答える