2017-04-06 63 views
0

我對Symfony相當陌生,但遇到登錄重定向問題。這裏是我的security.yml配置的剪斷:Symfony:在登錄重定向時傳遞奇怪的端口

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    login: 
     anonymous: ~ 
     pattern: ^/login 
     simple_form: 
      authenticator: app.api_authenticator 
      login_path: login 
      check_path: login 

      username_parameter: login[username] 
      password_parameter: login[password] 

      default_target_path: home 
      always_use_default_target_path: true 
     provider: api 
     context: main 

    main: 
     anonymous: ~ 
     guard: 
      authenticators: 
       - app.auth_token_authenticator 
     stateless: true 
     context: main 

我有https://localhost運行安裝程序本地實例。當我登錄頁面(https://localhost/login)並提交正確的憑據時,Symfony將我重定向到https://localhost:0/home而不是預期的https://localhost/home。任何想法有什麼不對?謝謝!

+0

您是否有與app.auth_token_authenticator相對應的服務(在services.yml中)? – ehymel

+0

是的,我喜歡。如果我不想那麼我會認爲我會得到一個錯誤。 – baa2w

+0

我明白了,但不想承擔。你能告訴我們服務定義是什麼樣的嗎? – ehymel

回答

0

我認爲login_pathlogin_check不應該是相同的路線。

login: 
    /***/   
    check_path: /login_check 
    login_path: /login 
    /***/ 
+0

這是爲什麼?即使官方Symfony文檔有一個例子,這些路徑是相同的:http://symfony.com/doc/current/security/form_login_setup.html – baa2w

+0

,這是什麼提及? 'login_path和check_path也可以是路由名(但不能有強制通配符 - 例如/ login/{foo},其中foo沒有默認值)。' – scoolnico

+0

是的,在我的例子中,'login'實際上是一個路由名。 – baa2w