gpt4 book ai didi

php - 如何禁止 Symfony2 中授权用户的访问?

转载 作者:搜寻专家 更新时间:2023-10-31 21:26:03 29 4
gpt4 key购买 nike

我是 Symfony2 的初学者。现在我尝试使用 FOSUserBundle 完成编写授权。我有一个问题,授权用户可以访问登录页面或注册页面。我可以在配置中更改它还是必须在 Controller 中检查它?谢谢

PS 我的意思是 security.yml 中的这样的部分:

access_control:
- { path: /new, role: ROLE_USER }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }

最佳答案

你可以通过创建一个事件监听器来解决它 hook into the FOSUserBundle controllers .对于注册,您可以使用 fos_user.registration.initialize事件。在您的监听器中,您可以检查用户是否已经过身份验证,如果是,则重定向到您喜欢的任何路线(例如主页)。看这个answer查看示例。

对于登录路由 (/login),您可以覆盖默认的 FOSUserBundle SecurityController并在那里检查用户是否已通过身份验证并进行重定向。看这个example .

关于php - 如何禁止 Symfony2 中授权用户的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35971556/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com