Symfony 区分所使用的身份验证机制

Symfony 区分所使用的身份验证机制,symfony,Symfony,在我们的symfony2应用程序中,我们提供针对内部(FOS)用户数据库和LDAP的身份验证。我们希望在LDAP被用于身份验证的情况下有一些特定的行为。如何在控制器中找出用户使用的机制 相关的安全配置文件如下所示: firewalls: main: pattern: ^/ form_login: provider: fos_userbundle csrf_provider: security.csrf

在我们的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

如果你做这样的事

    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
您可以知道用户使用了什么形式,因为您可以在不同的控制器中执行所需的操作