1

我正在尝试对站点上的一个部分的 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 它们都不适合我。

有人可以帮忙吗?

谢谢..

4

0 回答 0