2 回答
TA贡献1817条经验 获得超14个赞
我想出了怎么做。我有一个防火墙,每次我匿名连接时都会将我重定向到登录页面。
这就是我正在谈论的防火墙:
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贡献1799条经验 获得超6个赞
请注意,Symfony 会逐一记录每个 access_control。一旦找到匹配的,它就会使用该匹配并停止。因此,当到达 时^/,它会注意到所有页面都已通过身份验证并重定向到登录页面
为了避免这种情况,thankYou 页面的身份验证路径应该位于/^访问控制之上:
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 关注
- 91 浏览
添加回答
举报