首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 3\ FOSUser块注册(如果连接)

Symfony 3\ FOSUser块注册(如果连接)
EN

Stack Overflow用户
提问于 2016-06-20 13:25:32
回答 2查看 239关注 0票数 0

我正在使用FOSUser,如果用户已经连接,我希望返回一个异常,或者简单地阻止对注册的访问。当我连接起来,通过url,我仍然可以去/register。

这是我的access_control:

代码语言:javascript
复制
access_control:
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }

我可以重写注册控制器操作并返回一个AccessDeniedException,但是我确信有一个更好的解决方案,可能是使用security.yml吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-28 09:10:43

我终于找到了答案。我必须使用选民来检查用户权限。

这是doc:http://symfony.com/doc/current/cookbook/security/voters.html

这里有一个很好的例子:http://henrik.bjrnskov.dk/symfony2-anonymous-users-access/

这就是我所拥有的

代码语言:javascript
复制
- { path: ^/register, role: IS_ANONYMOUS }
票数 0
EN

Stack Overflow用户

发布于 2016-06-20 15:13:16

如果你加上这个:

代码语言:javascript
复制
- { path: ^/register, role: ROLE_ADMIN }

然后使用:

代码语言:javascript
复制
php bin/console fos:user:promote user_name ROLE_ADMIN

要将"user_name“添加到ROLE_ADMIN中,其他用户将获得一条拒绝访问的消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37923787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档