繁体   English   中英

Symfony2“此身份验证方法需要会话”登录检查时出错

[英]Symfony2 “This authentication method requires a session” error on login check

我一直在尝试按照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

对于Symfony 4

编辑config / packages / framework.yaml

并添加

framework:
    session:
        handler_id: ~

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM