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

问题描述 投票:5回答:2

我一直在尝试按照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 security symfony session
2个回答
9
投票

您需要启用PHP会话以保持用户登录。你的config.yml文件让我们看来它没有启用,在session根目录下添加一个framework部分:

这是默认配置:

framework:
    # ...
    session: ~

查看官方文档以了解如何配置会话存储:http://symfony.com/doc/current/reference/configuration/framework.html#session


6
投票

对于Symfony 4

编辑config / packages / framework.yaml

并添加

framework:
    session:
        handler_id: ~
© www.soinside.com 2019 - 2024. All rights reserved.