Я удалил провайдера в памяти и DemoBundle, и добавил провайдера базы данных, согласно учебнику. Но я получаю InvalidArgumentException
: «Вы должны добавить хотя бы одного провайдера аутентификации».
Мой security.yml:
# you can read more about security in the related section of the documentation
# http://symfony.com/doc/current/book/security.html
security:
# http://symfony.com/doc/current/book/security.html#encoding-the-user-s-password
encoders:
AppBundle\Entity\User:
algorithm: bcrypt
# http://symfony.com/doc/current/book/security.html#hierarchical-roles
role_hierarchy:
ROLE_GLOBAL_MODERATOR: ROLE_USER
ROLE_ADMIN: ROLE_GLOBAL_MODERATOR
# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
db:
entity:
class: AppBundle:User
property: email
# if you're using multiple entity managers
# manager_name: customer
# the main part of the security, where you can set up firewalls
# for specific sections of your app
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
pattern: ^/
security: false
# with these settings you can restrict or allow access for different parts
# of your application based on roles, ip, host or methods
# http://symfony.com/doc/current/cookbook/security/access_control.html
access_control:
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
Я также попытался использовать визуализатор YAML, чтобы убедиться, что я не испортил отступы, и это правильно.
Это потому, что вы еще не настроили провайдера аутентификации. Я имею в виду под ключ брандмауэров. Поставщики аутентификации являются анонимными, form_login, http_basic и т. Д. Не важно, для какого шаблона настроен поставщик, но должен быть настроен хотя бы один из них.
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
pattern: ^/
anonymous: ~
Других решений пока нет …