0
當我嘗試登錄時,頁面會自動重定向。這是Firefox的錯誤,我得到:Symfony登錄重定向本身
的網頁沒有正確重定向
的Firefox已檢測到服務器的方式,將永遠不會完成重定向對 請求這個地址。
任何想法可能導致它?
SECURITY.YML:
security:
encoders:
FixedApp\Model\User:
algorithm: sha1
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_ADMIN: [ROLE_USER, ROLE_LIMITED_ADMIN]
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
administrators:
entity: { class: FixedApp\Model\User, property: username }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/$
security: false
secured_area:
pattern: ^/
form_login:
check_path: fixed_app_authentication_login
login_path: fixed_app_authentication_homepage
username_parameter: username
password_parameter: password
default_target_path: fixed_app_authentication_homepage
always_use_default_target_path: true
success_handler: security.authentication.success_handler
logout:
path: fixed_app_authentication_logout
target: fixed_app_homepage
# To give access to the ROLE_LIMITED_ADMIN, use - role: [ROLE_USER, ROLE_LIMITED_ADMIN]
access_control:
- { path: ^/log-in$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: /home, roles: ROLE_USER }
的routing.yml:
fixed_app_homepage:
pattern:/
defaults: { _controller: FixedAppAuthenticationBundle:Default:index }
fixed_app_authentication_homepage:
pattern: /home
defaults: { _controller: FixedAppAuthenticationBundle:Default:loggedIn }
fixed_app_authentication_logout:
path: /log-out
# Verify the log in
fixed_app_authentication_login:
pattern: /log-in
AUTHENTICATIONSUCCESSHANDLER.PHP 這沒有什麼區別,如果我評論返回線路輸出,雖然。
function onAuthenticationSuccess(Request $request, TokenInterface $token)
{
return new RedirectResponse($this->router->generate('fixed_app_authentication_homepage'));
}
嗨理查德,謝謝你的迴應。你能解釋一下你的意思嗎?「如果這不是你想要的,你需要爲login_path創建一個單獨的頁面,然後在成功時重定向到安全/主頁。」? – b85411
嗨,沒問題。我可能沒說得那麼好。我的意思是,check_path和login_path路由都需要匿名。成功進行身份驗證後,*然後*可以將onAuthenticationSuccess方法重定向到需要ROLE_USER的安全路由。 – Richard
您目前遇到的問題是,如果auth由於某種原因失敗,Symfony會將您重定向到login_path,這需要一個有效的用戶,這會再次將您重定向到login_path和無限重定向循環。 – Richard