Symfony2 FOSUserBundle 安全性

发布于 2025-01-02 15:28:58 字数 540 浏览 1 评论 0原文

我有奇怪的问题。我无法关闭

/registration
/login
/resetting

已授权用户的页面访问权限。

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

为什么具有规则 ROLE_USER 的用户可以访问页面 /login ?我应该如何关闭它? 使用模板还是 security.xml ?

当想要访问 /login 时,如何使用规则 ROLE_USER 重定向用户?

I have weird problem. I can't close access for pages

/registration
/login
/resetting

for already authorized users.

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

Why is user with rule ROLE_USER have access to page /login ? And how should I close it ?
Using templates or security.xml ?

How can I redirect users with rule ROLE_USER when want to access /login ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

嗼ふ静 2025-01-09 15:28:58

Symfony2 中的角色是分层确定的; ROLE_USER 显然位于 IS_AUTHENTICATED_ANONYMOUSLY 之上,这就是为什么您的用户可以访问匿名人员可以访问的任何页面。

如果你想限制访问,你需要检查你的控制器,如果用户通过身份验证,并在这种情况下重定向他。

Roles are hierarchically determined in Symfony2 ; ROLE_USER is obviously in top of IS_AUTHENTICATED_ANONYMOUSLY, that's why your users can access any pages that can be accessed for anonymous people.

If you want to restrain access, you need to check in your controller if the user is authenticated, and redirected him in this case.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文