-1
私は、認証されたユーザと匿名ユーザの両方を許可するルートを持っています。 (ユーザーが認証されている場合、応答は異なります)。 ログインしているユーザーの場合、ユーザーのトークンを取得できません。これを処理する方法はありますか? ありがとう!SymfonyのIS_AUTHENTICATED_ANONYMOUSLYパスの後ろで認証されたユーザを扱います
は、ここに私のsecurity.ymlファイルです:。
$this->get('security.authorization_checker')->isGranted('IS_AUTHENTICATED_FULLY');
このリターン:あなたは、ユーザーがログインしているかどうかをチェックするためにsecurity.authorization_checker
サービスを使用することができます
firewalls:
login:
pattern: ^/api/login
stateless: true
anonymous: true
form_login:
check_path: /api/login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false
username_parameter: _email
password_parameter: _password
episodes:
pattern: ^/api/episodes
stateless: true
anonymous: true
api:
pattern: ^/api
stateless: true
lexik_jwt: ~
access_control:
- { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/episodes, roles: [IS_AUTHENTICATED_ANONYMOUSLY, IS_AUTHENTICATED_FULLY] }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY }
ルートが設定されたファイアウォールのいずれかの後ろにあることを確認してください。そうしないと、認証されたユーザーにアクセスできなくなります。 – Yoshi
よろしくお願いします。ありがとうございました。私は私のsecurity.ymlファイルを置くために投稿を編集しました。だから、ルートは私のファイアウォールの後ろにある。間違ったことがありますか? – Alfredo
一見すると、すべてのファイアウォールに同じ[* context *](https://symfony.com/doc/current/reference/configuration/security.html#firewall-context)を使用して、それが助けば。 – Yoshi