Symfony3.3和FOSUserBundle2-拒绝访问(403禁止)问题,即使角色匹配
我有一个角色列表,这些角色相互继承。 如果我为一个用户分配了特定的角色,那么就没有问题,但是,如果我在层次结构的更高层分配了一个角色,那么继承的角色就不会被拾取,并且用户会收到一个拒绝访问的错误 角色:Symfony3.3和FOSUserBundle2-拒绝访问(403禁止)问题,即使角色匹配,symfony,fosuserbundle,access-denied,Symfony,Fosuserbundle,Access Denied,我有一个角色列表,这些角色相互继承。 如果我为一个用户分配了特定的角色,那么就没有问题,但是,如果我在层次结构的更高层分配了一个角色,那么继承的角色就不会被拾取,并且用户会收到一个拒绝访问的错误 角色: ROLE_USER: [] ROLE_MEMBER: [ROLE_USER] ROLE_ADMIN: [ROLE_MEMBER] ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] 访问: - { path: ^/login$, rol
ROLE_USER: []
ROLE_MEMBER: [ROLE_USER]
ROLE_ADMIN: [ROLE_MEMBER]
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
访问:
- { path: ^/login$, roles: [IS_AUTHENTICATED_ANONYMOUSLY], anon: true, methods: [GET] }
- { path: ^/logout$, roles: [IS_AUTHENTICATED_ANONYMOUSLY], anon: true, methods: [GET] }
- { path: ^/admin, roles: [ROLE_ADMIN], anon: false, methods: [GET, POST, PUT, DELETE, HEAD, LINK, UNLINK, PATCH] }
来自探查器:(登录到/admin后)
方法获取HTTP状态403 IP##########于2017年7月19日星期三19:27:00+0000 Token#####
FOSUser配置:
fos_user:
db_driver: orm
firewall_name: main
user_class: CoreSys\CoreBundle\Entity\User
use_listener: true
from_email:
address: webmaster@domain.com
sender_name: admin
//security.yml
...
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
use_forward: true
use_referer: true
always_use_default_target_path: false
default_target_path: /
logout: true
anonymous: true
编辑:
我想我应该提到的是,我的角色/访问权限是由app/config中的一个辅助文件数据库和控制的,然后通过一个编译器过程注入安全层。roles/access对象似乎要求它作为数组而不是字符串角色配置的前两行是什么意思?role\u USER拥有role\u GUEST,而role\u GUEST拥有role\u USER?我使用动态生成器创建角色列表。。他们都倾向于继承上一个。。我可能需要检查角色来宾继承角色\u用户已删除角色\u来宾,设置角色\u用户:[。。还是一样的问题我不知道我是否理解正确。告诉我用户的角色和他们想要访问的路径(哪里似乎有问题)
fos_user:
db_driver: orm
firewall_name: main
user_class: CoreSys\CoreBundle\Entity\User
use_listener: true
from_email:
address: webmaster@domain.com
sender_name: admin
//security.yml
...
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
use_forward: true
use_referer: true
always_use_default_target_path: false
default_target_path: /
logout: true
anonymous: true