我很绝望:我多年来一直在使用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也行不通。 有什么想法吗?
谢谢!