在我们的symfony2应用程序中,我们提供针对内部(FOS)用户数据库和LDAP的身份验证。如果LDAP已用于身份验证,我们希望有一些特定的行为。如何在控制器中找出用户使用过哪种机制?
相关的安全配置文件如下所示:
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
login_path: /login
check_path: /login_check
default_target_path: /
always_use_default_target_path: false
use_referer: true
form_login_ldap:
service: app.ldap
dn_string: %ldap_dn_string%
login_path: /login
check_path: /login_check
always_use_default_target_path: false
logout:
path: fos_user_security_logout
target: /
invalidate_session: true
anonymous: true
答案 0 :(得分:0)
如果你这样做
form_login:
provider: fos_userbundle
csrf_provider: security.csrf.token_manager
login_path: /login
check_path: /login_check
default_target_path: // route name of your common controller
always_use_default_target_path: true
use_referer: true
form_login_ldap:
service: app.ldap
dn_string: %ldap_dn_string%
login_path: /login
check_path: /login_check
default_target_path: // route name of your ldap controller
always_use_default_target_path: true
您可以知道用户使用了什么形式,因为您在不同的控制器中执行了所需的操作