簡體   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