2 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
我想出了怎么做。我有一個(gè)防火墻,每次我匿名連接時(shí)都會(huì)將我重定向到登錄頁(yè)面。
這就是我正在談?wù)摰姆阑饓Γ?/p>
backend:
pattern: ^/
provider: fos_userbundle
form_login:
csrf_token_generator: security.csrf.token_manager
login_path: /login
check_path: /login_check
default_target_path: dashboard
# success_handler: my_user_log.component.authentication.handler.login_success_handler
logout:
path: /logout
target: /login
# success_handler: my_user_log.component.authentication.handler.logout_success_handler # redirect, no_redirect, redirect_without_path
anonymous: true
這是我必須添加的防火墻:
api_thankyou:
pattern: ^/mail
security: false

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
請(qǐng)注意,Symfony 會(huì)逐一記錄每個(gè) access_control。一旦找到匹配的,它就會(huì)使用該匹配并停止。因此,當(dāng)?shù)竭_(dá) 時(shí)^/,它會(huì)注意到所有頁(yè)面都已通過(guò)身份驗(yàn)證并重定向到登錄頁(yè)面
為了避免這種情況,thankYou 頁(yè)面的身份驗(yàn)證路徑應(yīng)該位于/^訪(fǎng)問(wèn)控制之上:
access_control:
# - { path: ^/dashBoard, role: IS_AUTHENTICATED_REMEMBERED }
# This is the Thank you page
- { path: ^/thankYou, role: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, allow_if: "not has_role('ROLE_USER')" }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/faq/application, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/faq/category, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: IS_AUTHENTICATED_REMEMBERED }
- { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/getToken, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY }
- 2 回答
- 0 關(guān)注
- 131 瀏覽
添加回答
舉報(bào)