【问题标题】:Symfony2 authentification : redirect 302 on POST requestSymfony2 身份验证:在 POST 请求上重定向 302
【发布时间】:2016-03-10 00:26:18
【问题描述】:

我对 Symfony 身份验证有疑问。

我的 security.yml 文件如下所示:

providers:
    corebundle_admin:
        entity:
            class:    CoreAdminBundle:Admin
            property: username

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    admin:
        pattern: ^/admin
        form_login:
            provider:    corebundle_admin
            login_path:  /admin/login
            check_path:  /admin/login
        logout: true
        anonymous: true

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

还有我的控制器:

  /**
   * @Route("/login")
   * @Method("GET")
   */
  public function loginAction() {
    return $this->render('CoreAdminBundle:Admin:login.html.twig');
  }

  /**
   * @param Request $request
   *
   * @Route("/login")
   * @Method("POST")
   */
  public function checkAction(Request $request) {
    // do something
  }

一切正常,但是当我尝试向 /admin/login 发送 POST 请求时,响应为 302 并重定向到 /admin/login ...

我被困在这里,任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: php symfony authentication


    【解决方案1】:

    将您的登录检查操作更改为:/login_check 或任何名称(期望 '/login' 都可以)

      /**
       * @Route("/login")
       * @Method("GET")
      */
     public function loginAction() {
       return $this->render('CoreAdminBundle:Admin:login.html.twig');
     }
    
      /**
       * @param Request $request
      *
     * @Route("/login_check")
     * @Method("POST")
     */
     public function checkAction(Request $request) {
      // do something
     }
    

    编辑你的 security.yml

             provider:    corebundle_admin
            login_path:  /admin/login
            check_path:  /admin/login_check
    

    【讨论】:

    • 同样的问题。我不知道为什么,但是 POST 请求总是重定向 302,如果我用 GET 设置它就可以了……任何人都可以解释我为什么?
    • 尝试在表单中添加这个标签: i
    • 不幸的是,同样的结果
    猜你喜欢
    • 2015-07-29
    • 2020-06-27
    • 2013-09-24
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2017-06-01
    相关资源
    最近更新 更多