Php 表达方式;具有“角色(';角色';)”;拒绝访问,使用管理员用户
正如标题所示,我在Symfony3中遇到了一个角色提升问题 错误很简单:Php 表达方式;具有“角色(';角色';)”;拒绝访问,使用管理员用户,php,controller,fosuserbundle,symfony,Php,Controller,Fosuserbundle,Symfony,正如标题所示,我在Symfony3中遇到了一个角色提升问题 错误很简单: Expression "has_role('ROLE_ADMIN')" denied access. 我用 php bin/console fos:user:promote (etc.), 导致: a:1:{i:0;s:10:"ROLE_ADMIN";} 在数据库中 我还在“我的控制器”方法上添加了注释: /** * @Security("has_role('ROLE_ADMIN')") */ 我的secur
Expression "has_role('ROLE_ADMIN')" denied access.
我用
php bin/console fos:user:promote (etc.),
导致:
a:1:{i:0;s:10:"ROLE_ADMIN";}
在数据库中
我还在“我的控制器”方法上添加了注释:
/**
* @Security("has_role('ROLE_ADMIN')")
*/
我的security.yml看起来像这样:
security:
encoders:
MR\UserBundle\Entity\User: sha512
role_hierarchy:
ROLE_ADMIN: [ROLE_USER, ROLE_MODERATOR]
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
main:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main_login:
pattern: ^/login$
anonymous: true
main:
pattern: ^/
anonymous: true
provider: main
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
logout:
path: fos_user_security_logout
target: /
remember_me:
secret: %secret%
access_control:
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
不要为可见的增量而烦恼,这仅仅是复制粘贴的效果
我希望我没有错过一个明显的要点,但我更喜欢它,而不是一个没有解决的案件
提前感谢@K.F I“它在早上工作”=>我在SF 3.X上也有这个问题。这不是缓存问题。只是因为我必须断开连接并重新连接才能将新角色应用到我的用户。我知道这不是你的问题,但我在意识到我在用户推广中犯了错误后解决了我的问题。。。我没有添加
角色\u ADMIN
,只添加了ADMIN
。。。新手错误在您的控制器中指定为@Security(“has_role('role_ADMIN')”)的注释的路径是什么
?它今天早上起作用了。。我想缓存是有问题的,即使昨天晚上清除缓存并没有解决问题。。对不起。。。那个我不知道该从中得出什么结论。祝你有一个美好的一天这不是一个答案,最好删除它并使用评论。