交响乐 3 | FOSUser 如果连接则阻止注册
Symfony 3 | FOSUser Block registration if connected
我正在使用 FOSUser,如果用户已经连接,我想 return 一个例外或简单地阻止访问注册。当我连接到 url 时,我仍然可以去 /register。
这是我的 access_control :
access_control:
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
我可以覆盖注册控制器操作和 return 一个 AccessDeniedException 但我确信有更好的解决方案,也许 security.yml ?
如果你添加这个:
- { path: ^/register, role: ROLE_ADMIN }
然后使用:
php bin/console fos:user:promote user_name ROLE_ADMIN
将"user_name"添加到ROLE_ADMIN,然后其他用户将收到拒绝访问消息。
我终于找到了答案。我必须使用 Voters 来检查用户权限。
这是文档:http://symfony.com/doc/current/cookbook/security/voters.html
这里有一个很好的例子:http://henrik.bjrnskov.dk/symfony2-anonymous-users-access/
这就是我所拥有的:
- { path: ^/register, role: IS_ANONYMOUS }
我正在使用 FOSUser,如果用户已经连接,我想 return 一个例外或简单地阻止访问注册。当我连接到 url 时,我仍然可以去 /register。
这是我的 access_control :
access_control:
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
我可以覆盖注册控制器操作和 return 一个 AccessDeniedException 但我确信有更好的解决方案,也许 security.yml ?
如果你添加这个:
- { path: ^/register, role: ROLE_ADMIN }
然后使用:
php bin/console fos:user:promote user_name ROLE_ADMIN
将"user_name"添加到ROLE_ADMIN,然后其他用户将收到拒绝访问消息。
我终于找到了答案。我必须使用 Voters 来检查用户权限。
这是文档:http://symfony.com/doc/current/cookbook/security/voters.html
这里有一个很好的例子:http://henrik.bjrnskov.dk/symfony2-anonymous-users-access/
这就是我所拥有的:
- { path: ^/register, role: IS_ANONYMOUS }