问题描述
我在symfony项目中遇到此错误.我的security.yml文件代码如下.
I am getting this error in my symfony project. My security.yml file code is below.
# To get started with security, check out the documentation:
# https://symfony.com/doc/current/security.html
security:
encoders:
AppBundle\Emtity\User:
algorithm: becrypt
# https://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
providers:
db_provider:
entity:
class: AppBundle:User
property: username
firewalls:
# disables authentication for assets and the profiler, adapt it according to your needs
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
form_login:
login_path:login
check_path:login
您还可以看到我的config.yml文件看起来像
You can also see my config.yml file whick look like be
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
locale: en
framework:
#esi: ~
#translator: { fallbacks: ['%locale%'] }
secret: '%secret%'
router:
resource: '%kernel.project_dir%/app/config/routing.yml'
strict_requirements: ~
form: ~
csrf_protection:
enabled: true
validation: { enable_annotations: true }
#serializer: { enable_annotations: true }
default_locale: '%locale%'
trusted_hosts: ~
session:
# https://symfony.com/doc/current/reference/configuration/framework.html#handler-id
handler_id: session.handler.native_file
save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
fragments: ~
http_method_override: true
assets: ~
php_errors:
log: true
# Twig Configuration
twig:
debug: '%kernel.debug%'
strict_variables: '%kernel.debug%'
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: '%kernel.project_dir%/var/data/data.sqlite'
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
#path: '%database_path%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
# Swiftmailer Configuration
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
请检查上面的代码,我不知道我的代码中缺少哪些内容,因此如果有人有任何解决方案,请帮助我.
Please check above code i don't know which thing are missing in my code so please help me if anyone have got any solution.
我想使用security.yml文件尝试symfony中的登录过程.
I want to try login process in symfony using the security.yml file.
推荐答案
您的错误是Invalid type for path security.firewalls.main.form_login. Expected array, but got string
如果您查看security.yml
文件,就会发现:
If you look at in your security.yml
file, you got this :
form_login:
login_path:login
check_path:login
您应该添加一个空格以遵守.yml格式:
You should add a space to respect the .yml format :
form_login:
login_path: login
check_path: login
希望有帮助!
这篇关于路径"security.firewalls.main.form_login"的类型无效.预期的数组,但有字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!