如何在Symfony 2中接受任何用户名和密码?

时间:2015-10-01 09:32:38

标签: symfony basic-authentication symfony-2.6 symfony-security

我的Symfony 2.6应用程序有以下配置选项:

security:
    encoders:
        Symfony\Component\Security\Core\User\User: plaintext

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        secured_area:
            pattern:    ^/
            stateless:  true
            http_basic:
                realm: "Some text here"

    providers:
        in_memory:
            memory:
                users:
                    user1:  { password: pass1 }
                    user2: { password: pass2 }

正如您所看到的,我有2个用户可以访问几乎任何路由。

我想要的是扩展此权限并允许访问提供一些非空值的任何人作为用户名/密码。

例如,user1/pass1仍然可以使用,但someone/mypasswordanyone/blabla也是如此,依此类推。基本上是无限用户名和密码的组合,只要提供某些值。

如何更改上述配置以执行我想要的操作?

我经历了几乎所有Symfony的安全文档,并且在那里玩了很多东西,其中没有一个有效。我没有尝试的一个解决方案是writing my own authentication provider,但它看起来非常复杂并且难以正确执行,如果有一种更简单的解决方案(我可以'找到当下的事。)

1 个答案:

答案 0 :(得分:0)

就像您已经提到的那样,您必须设置自己的身份验证提供程序。

http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html