导致ERR_TOO_MANY_DIRECTS错误的Symfony无限循环



我想实现一个记住我功能。由于我没有得到任何自定义验证器,所以我添加了一个。添加后,我遇到了一些重定向问题。在导航器上,页面在";登录";页面和我的目的地页面。

此循环以结束

ERR_TOO_MANY_REDDIRECTS错误。

此错误仅发生在需要记录用户的页面上。

Symfony版本:5.4。


安全性.yaml

security:
password_hashers:
AppEntityUser: 'auto'
SymfonyComponentSecurityCoreUserPasswordAuthenticatedUserInterface:
algorithm: 'auto'
cost:      15
providers:
app_user_provider:
entity:
class: AppEntityUser
property: email
enable_authenticator_manager: true
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
provider: app_user_provider
custom_authenticators:
- AppSecurityCustomAuthenticator
form_login:
login_path: app_login
check_path: app_login
use_referer: true
logout:
path: app_logout
target: index
user_checker: AppSecurityUserChecker
remember_me:
secret: '%kernel.secret%' # required
lifetime: 604800 # 1 week in seconds
signature_properties: ['password']

secured_area:
form_login:
enable_csrf: true
access_control:
- { path: '^/admin',           roles: IS_AUTHENTICATED_FULLY }
- { path: '^/tableau-de-bord', roles: IS_AUTHENTICATED_FULLY }
- { path: '^/profil',          roles: IS_AUTHENTICATED_FULLY }
- { path: '^/dashboard',       roles: IS_AUTHENTICATED_FULLY }
- { path: '^/profile',         roles: IS_AUTHENTICATED_FULLY }

access_control部分中,尝试用IS_AUTHENTICATED_REMEMBERED:替换IS_AUTHENTICATED_FULLY

安全性.yaml

security:
...
access_control:
- { path: '^/admin',           roles: IS_AUTHENTICATED_REMEMBERED }
- { path: '^/tableau-de-bord', roles: IS_AUTHENTICATED_REMEMBERED }
- { path: '^/profil',          roles: IS_AUTHENTICATED_REMEMBERED }
- { path: '^/dashboard',       roles: IS_AUTHENTICATED_REMEMBERED }
- { path: '^/profile',         roles: IS_AUTHENTICATED_REMEMBERED }

来自文档:

IS_AUTHENTICATED_FULLY:这与IS_AUTTHENTICATED_REMEMBERED类似,但更强。仅仅因为"用户"而登录的用户;记住我饼干";将具有IS_AUTHENTICATED_REMEMBERED,但将不具有IS-AUTHENTICATED_FULLY

最新更新