我正在使用旧版本的Symfony(2.3.37)和PDias / Saml库(2014年10月版)和Simplesamlphp(1.14)。
我需要显示2个登录名:Saml登录名(默认,在“ /”路径上)和表单登录名(在/ login_2019_nrwd url上)。
这两种登录方法都必须在同一区域(整个站点)上登录用户。 如果我尝试使用正确的数据通过表单登录,则会重定向到Saml登录页面。
我试图使用相同的上下文共享登录名,但是它不起作用。我哪里错了?这是我的security.xml:
security:
encoders:
Curci\UserBundle\Entity\OperatingUser: bcrypt
Curci\UserBundle\Entity\LdapUser: plaintext
PDias\SamlBundle\Security\User\SamlUser: plaintext
role_hierarchy:
ROLE_STUDENT: ROLE_USER
ROLE_PROFESSOR: ROLE_USER
ROLE_PROJECT_MANAGER: ROLE_USER
ROLE_ADMIN: ROLE_USER
providers:
operating_user:
entity: { class: CurciUserBundle:OperatingUser, property: username }
ldap_user:
id: curci_user.security.ldap_user_provider
curci_user_provider:
chain:
providers: [ operating_user, ldap_user ]
samlservice:
id: saml.service.user.provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/login_2019_nrwd$
security: false
secured_area:
pattern: ^/login_2019_nrwd
form_login:
provider: curci_user_provider
login_path: curci_user_security_login
check_path: curci_user_security_login_check
csrf_provider: form.csrf_provider
logout: true
anonymous: true
context: saml_context
stateless: false
saml_secured:
pattern: ^/
context: saml_context
stateless: false
provider: samlservice
saml:
logout:
path: /logout
target: /
access_control:
- { path: ^/mobile/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: ROLE_USER }