我正在尝试对站点上的一个部分的 in_memory 提供程序和所有其他页面的 sso 提供程序的用户进行身份验证,因此我尝试了以下操作:
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
sso:
id: sso.security.user.provider
fos_twitter:
id: fos_twitter.auth
in_memory:
users:
ryan: { password: ryanpass, roles: 'ROLE_CANVAS_ADMIN' }
admin: { password: kitten, roles: 'ROLE_CANVAS_ADMIN' }
firewalls:
main:
pattern: ^/canvas
provider: in_memory
secured_area:
pattern: ^/
form_login:
login_path: /signin
check_path: /login_check
anonymous: true
sso: true
fos_twitter: false
access_control:
- { path: ^/canvas, roles: [ROLE_CANVAS_ADMIN] }
这不起作用,因为它总是进入 /signin 登录路径,并且使用 sso 提供程序工作。我已经尝试了以下实现: 使用一个登录表单验证多个 symfony2 防火墙, http ://symfony.com/doc/2.0/cookbook/security/custom_authentication_provider.html 和这个:http ://symfony.com/doc/current/ book/security.html#using-multiple-user-providers 它们都不适合我。
有人可以帮忙吗?
谢谢..