コントローラでこれを行うと:
$token = $this->get('security.context')->getToken();
コントローラが保護されていないURLの下にある場合、トークンはnullです。
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_ADMIN }
- { path: ^/public, roles: IS_AUTHENTICATED_ANONYMOUSLY }
私の場合、コントローラーアクションはで呼び出され/public
ます。/
ただし、コードが保護されたページで実行されている場合、トークンは存在します。
これが必要な理由は、ユーザーがログインした場合に備えて追加情報を含めたいので、この「トークン」の存在を確認したかったからです。
ユーザーがログインしているかどうかを確認するためのより良い方法はありますか?保護された領域と保護されていない領域の両方で機能しますか?