我想實作一個記住我的功能。由于我沒有獲得任何自定義身份驗證器,因此我添加了一個。添加后,我遇到了一些關于重定向的問題。在導航器上,頁面在“登錄”頁面和我的目標頁面之間回圈。
這個回圈結束于
ERR_TOO_MANY_REDIRECTS錯誤。
此錯誤僅發生在需要登錄用戶的頁面上。
Symfony 版本:5.4。
安全.yaml
security:
password_hashers:
App\Entity\User: 'auto'
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
algorithm: 'auto'
cost: 15
providers:
app_user_provider:
entity:
class: App\Entity\User
property: email
enable_authenticator_manager: true
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
provider: app_user_provider
custom_authenticators:
- App\Security\CustomAuthenticator
form_login:
login_path: app_login
check_path: app_login
use_referer: true
logout:
path: app_logout
target: index
user_checker: App\Security\UserChecker
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 }
uj5u.com熱心網友回復:
在該access_control部分中,嘗試替換IS_AUTHENTICATED_FULLY為IS_AUTHENTICATED_REMEMBERED:
安全.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_AUTHENTICATED_REMEMBERED,但更強。僅因為“記住我的 cookie”而登錄的用戶將擁有IS_AUTHENTICATED_REMEMBERED但不會擁有 IS_AUTHENTICATED_FULLY。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/453309.html
下一篇:從控制器訪問JWT資料的有效方法
