Symfony 3 - 多种登录方式,如何设置默认值?

时间:2017-06-29 06:26:10

标签: php symfony

因此我们为我们的网站提供了多种身份验证方法 - SAML和普通表单登录。我们如何将saml设置为默认值?目前,当用户未登录并访问该站点时,他们将被重定向到表单登录页面。我们使用的SAML包是hslavich OneLogin SAML包。

firewalls:
  app:
    pattern:    ^/
    anonymous: true
    saml:
      check_path: /saml_consume.php
      login_path: /saml/login
      user_factory: sonicwall_user_factory
      persist_user: true
      use_referer: true
    form_login:
      login_path: login
      check_path: login
      always_use_default_target_path: true

1 个答案:

答案 0 :(得分:1)

我能够通过覆盖

来达到你想要的效果
class SamlFactory extends \Hslavich\OneloginSamlBundle\DependencyInjection\Security\Factory\SamlFactory
{
    /**
     * Defines the position at which the provider is called.
     * Possible values: pre_auth, form, http, and remember_me.
     *
     * @return string
     */
    public function getPosition()
    {
        return 'form';
    }
}

从捆绑包中注册此类代替SamlFactory

$extension->addSecurityListenerFactory(new SamlFactory());

默认设置为pre_auth