それはまさに見出しの状態です-ユーザーの切り替えが機能しない理由がわかりません。私のsecurity.ymlには次のものがあります:
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
form_login:
provider: fos_userbundle # using FOSUserBundle for user authentication
check_path: fos_user_security_check
login_path: fos_user_security_login
csrf_token_generator: security.csrf.token_manager # CSRF token - can be changed?
default_target_path: default_logged_in_target # default route to go to after login
# default_target_path: fos_user_profile_show
always_use_default_target_path: true # ignore the requested url and allways go to default route after login
logout:
path: fos_user_security_logout
target: default_loged_out_target
logout: true
anonymous: true
switch_user: true
URL の呼び出し
[ProjectPath]/account?_switch_user=testuser
エラーが発生します
Switch User failed: "Username "testuser" does not exist."
ただし、「testuser」は完全に有効なユーザーであり、標準の方法でログインすると、そのユーザーで正常にログインできます。「_switch_user」で URL を呼び出すときにログインしているユーザーには、「ROLE_ALLOWED_TO_SWITCH」という役割がありますが、これは問題ではないようです。私はここで立ち往生しています。どんなヒントでも大歓迎です。
編集:
スタックトレースは、「SwitchUserListener.php」での呼び出しを示しています
$this->tokenStorage->setToken($this->attemptSwitchUser($request));
失敗してキャッチされ、指定されたエラーが発生します。