繁体   English   中英

Symfony2身份验证:在POST请求上重定向302

[英]Symfony2 authentification : redirect 302 on POST request

我对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 ...

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

谢谢

将您的登录检查操作更改为:/ 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

暂无
暂无

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

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