我通常将in_memory用户用作我的超级管理员用户,然后在数据库中创建普通用户。 在这个新版本的Symfony中,我遵循了该指南:https://symfony.com/doc/current/security/form_login_setup.html 一切默认。 创建实体用户。问题在于,每次尝试使用in_memory提供程序时,都会收到“找不到用户名”。
我的securirty.yml:
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
App\Entity\User:
algorithm: bcrypt
role_hierarchy:
ROLE_ALL: [ROLE_USUARIO]
ROLE_SUPER_ADMIN: [ROLE_ALL]
providers:
chain_provider:
chain:
providers: [in_memory, app_user_provider]
in_memory:
memory:
users:
someuser:
password: somepassword
roles: ROLE_SUPER_ADMIN
# used to reload user from session & other features (e.g. switch_user)
app_user_provider:
entity:
class: App\Entity\User
property: username
# used to reload user from session & other features (e.g. switch_user)
firewalls:
main:
anonymous: ~
provider: chain_provider
guard:
authenticators:
- App\Security\LoginFormAuthenticator
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_USUARIO }