简体   繁体   English

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

[英]Symfony2 authentification : redirect 302 on POST request

I have an issue with Symfony authentification. 我对Symfony身份验证有疑问。

My security.yml file looks like this : 我的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 }

And my controller : 和我的控制器:

  /**
   * @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
  }

Everything works fine, but when i'm trying to send a POST request to /admin/login, the response is a 302 and redirects to /admin/login ... 一切正常,但是当我尝试向/ admin / login发送POST请求时,响应为302并重定向到/ admin / login ...

I'm stuck here, any help will be appreciated. 我被困在这里,任何帮助将不胜感激。

Thanks 谢谢

change your login check action to : /login_check or any name expect '/login' it will work 将您的登录检查操作更改为:/ 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
 }

edit your security.yml 编辑您的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