【问题标题】:Symfony2 security.yml correct configurationSymfony2 security.yml 正确配置
【发布时间】:2016-04-02 07:36:24
【问题描述】:

我是 symfony2 3.0 版的新手,我正在尝试创建一个登录表单。但我被困在 security.yml 配置中,我不知道发生了什么。我在谷歌搜索了 3 个小时,但没有运气。希望您能够帮助我。到目前为止,这是我的代码。

security:
  encoders:
    AppBundle\Entity\User:
      algorithm: bcrypt

  providers:
    db_provider:
      entity:
        class: AppBundle:User
        property: username

  firewalls:
    login_area:
      pattern: ^/user/login$
      security: false

    secured_area:
      pattern: ^/admin
      anonymous: ~
      form_login:
        login_path: user/login
        check_path: user/login-check
        always_use_default_target_path: true
        default_target_path: /admin
        provider: db_provider

每次我去http://localhost:8000/admin它都会给我这个错误

The check_path "user/login-check" for login method "form_login" is not matched by the firewall pattern "^/admin".


Invalid configuration for path "security.firewalls.secured_area": The check_path "user/login-check" for login method "form_login" is not matched by the firewall pattern "^/admin".

【问题讨论】:

  • 为什么 security: 和 encoders: 有相同的垂直对齐方式?
  • 没有对齐在我的文件中是正确的,只是在我复制到这里之后对齐被移动了
  • 回复告诉逻辑检查应该从管理员开始,比如用户/登录检查的管理员/登录检查。您可以尝试更改相关路由吗?
  • 嗨@Rinat,我试着像你说的那样改变 check_path。我还将模式更改为 admin/* 并且工作正常。非常感谢!

标签: symfony


【解决方案1】:

您的login_check 路径必须被防火墙之一覆盖。

firewalls:
    login_area:
       pattern: ^/admin/user/login$
       security: false

    secured_area:
        pattern: ^/admin
        anonymous: ~
        form_login:
            login_path: /admin/user/login
            check_path: /admin/user/login-check
            always_use_default_target_path: true
            default_target_path: /admin
            provider: db_provider

access_control:
    - { path: ^/admin/user/login, role: IS_AUTHENTICATED_ANONYMOUSLY }

来自symfony.com docs的备注:

确保您的 check_path URL(例如 /login)位于 您用于表单登录的防火墙(在此示例中,单个 防火墙匹配所有 URL,包括 /login)。如果 /login 不匹配 任何防火墙,您都会收到 Unable to find the controller for path “/login”异常。

【讨论】:

    猜你喜欢
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多