【发布时间】:2019-11-04 04:13:59
【问题描述】:
我有一个 symfony 应用程序,它在 Sonata Admin Bundle 中用于管理部分,它有自己的防火墙 (admin) 和应用程序用户部分的防火墙 (main)。
目前,与 Sonata 连接的管理员无法访问为用户设计的 API,因为它已针对 Sonata Admin Bundle 身份验证器进行身份验证,而对于 API,它会将他视为空用户或未经过身份验证一。
我想允许管理员访问为用户部分的防火墙后面的应用程序部分创建的 API。
security.yaml 文件中的防火墙配置:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin:
pattern: ^/admin(.*)
form_login:
provider: app_user_admin
login_path: admin_login
use_forward: false
check_path: admin_login
failure_path: null
logout:
path: admin_logout
target: admin_login
anonymous: true
guard:
authenticators:
- App\Security\AdminLoginAuthenticator
main:
anonymous: true
logout:
path: security_logout
guard:
authenticators:
- App\Security\UserLoginAuthenticator
有没有办法为管理员连接两个身份验证器?比如,在管理员成功登录时调用main 防火墙的身份验证器?
【问题讨论】:
标签: php symfony authentication symfony4 symfony-security