我一直在尝试按照Symfony的书中的说明实现简单的表单登录,但我被困在登录。每当我尝试登录时,都会从AbstractAuthenticationListener::handle抛出"此身份验证方法需要会话"错误。我搜索了Symfony的书和食谱,谷歌,但没有找到答案,甚至一些相关的问题。
这是我误解了书中的一些东西还是我的服务器配置错误?
如果你需要代码提取,不要介意问…
security.yml
security:
encoders:
Common'Bundle'UserBundle'Entity'User:
algorithm: bcrypt
cost: 10
providers:
main:
entity: { class: CommonUserBundle:User }
firewalls:
main:
pattern: ^/
provider: main
anonymous: ~
simple_form:
authenticator: simple_authenticator
login_path: /Connexion
check_path: /Connexion/verifier
logout:
path: /Deconnexion
target: /
remember_me:
key: "%secret%"
lifetime: 2592000
path: /
domain: ~
config.yml
framework:
secret: "%secret%"
fragments: { path: /_fragment }
router:
resource: "%kernel.root_dir%/config/routing.yml"
validation:
enable_annotations: true
templating:
engines: ['twig']
default_locale: "%locale%"
http_method_override: true
您需要启用PHP会话来保持用户记录。您的config.yml
文件显示它未启用,在framework
根级别内添加session
部分:
默认配置:
framework:
# ...
session: ~
查看官方文档以了解如何配置会话存储:http://symfony.com/doc/current/reference/configuration/framework.html#session
For Symfony 4
编辑config/包/framework.yaml
并添加
framework:
session:
handler_id: ~