无法使用管理员凭据

时间:2018-02-19 23:45:46

标签: symfony

我正在进入一个我基本上不负责任的旧代码库。如果我的知识存在差距,我会提前道歉。

我们有一个Symfony应用程序运行使用工作,但最近非常奇怪,有各种各样的错误。其中最重要的是我无法再使用security.yml中描述的凭据登录。

这是security.yml文件:

providers:
    in_memory:
        memory:
            users:
                admin:
                    password: DefinitelyTheRealPassword
                    roles: 'ROLE_ADMIN'

encoders:
    Symfony\Component\Security\Core\User\User: plaintext

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
        # activate different ways to authenticate

        # http_basic: ~
        # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate

        # form_login: ~
        # http://symfony.com/doc/current/cookbook/security/form_login_setup.html

access_control:
    - { path: ^/refresh, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/, roles: ROLE_ADMIN }

当我尝试以" admin"登录时使用我们的security.yml文件中的实际密码(没有散列,纯文本等,没什么奇怪的),我只是得到消息"凭证无效。"

我们的安全控制器直接来自Symfony示例文档,所以我不知道它是否值得发布。

最奇怪的部分是之前工作,现在它没有。检查应用程序工作的旧提交也没有帮助。我注意到没有"用户"数据库中的表,但由于登录信息是in_memory,我认为这不重要。

如果有任何相似的内容,我很乐意发布更多代码。

1 个答案:

答案 0 :(得分:0)

check_path中存在错误。试试这个:

main:
  anonymous: true
  form_login:
    login_path: login
    check_path: login_check
  logout:
    path:       logout
    target:     login

并验证您的routing.yml

login_check:
    path: /login_check