Symfony4 - 使用数据库提供程序时的基本身份验证循环

时间:2018-01-28 07:01:26

标签: database symfony security basic-authentication provider

我很绝望:我多年来一直在使用Symfony,而今天我仍然坚持使用基本的东西。由于尚未为Sf4实现FOSUserBundle,我决定在DB中创建一个非常基本的用户实体来加载用户。

但是当我在网络浏览器(Chrome)的BasicAuth窗口中输入我的用户名/密码时,它并没有记录我并反复循环。

这是我的安全文件:

security:
    encoders:
        App\Entity\User:
            algorithm: bcrypt

    providers:
        native_provider:
            entity:
                class: App\Entity\User
                property: username
                manager_name: native_users

    firewalls:
        main:
            pattern:    ^/
            http_basic: ~
            provider: native_provider

    access_control:
        - { path: ^/, roles: ROLE_USER }

    role_hierarchy:
        ROLE_ADMIN: ROLE_USER

我的User类与symfony示例中的类完全相同:https://symfony.com/doc/current/security/entity_provider.html#create-your-user-entity

最后,我使用[nelmio / alice] [1]创建了一些用户设备:

App\Entity\User:
    user_1:
        id: '<uuid()>'
        username: 'admin'
        password: '\$2y\$10\$574w3EitCqOaHmhu4ER49.KPG2EMtcQlYrO0vdPyYW/EuqTHMCB0C'
        email: 'admin@test.com'
        isActive: true

其中'\ $ 2y \ $ 10 \ $ 574w3EitCqOaHmhu4ER49.KPG2EMtcQlYrO0vdPyYW / EuqTHMCB0C'代表bcrypt编码的“admin”字。

尽管有这些东西,基本的auth也行不通。 有什么想法吗?

谢谢!

0 个答案:

没有答案