2016-10-02 50 views
0

我在做一个网站,除了实际的登录表单一切都应该要求用户已经登录。Symony 3.1重定向循环登录形式

我假设我遇到的问题是与我已经设置了security.yml。

firewalls: 
    # disables authentication for assets and the profiler, adapt it according to your needs 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    main:  
     provider: auth_provider 
     pattern: .* 
     form_login: 
      login_path: /login 
      check_path: /login_check 
     logout: 
      path: /logout 
      target:/ 

access_control: 
    - { path: /login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 

防火墙确实识别匿名用户,并试图送他到登录页面。但是,浏览器在登录表单由于重定向循环而呈现之前暂停请求。我无法弄清楚如何解决。

我的路线文件:

site_login: 
     path: /login 
     defaults: { _controller: AppBundle:Security:login } 

    site_login_check: 
     path: /login_check 
     defaults: { _controller: AppBundle:Security:login_check } 

控制器就是:

class SecurityController extends Controller { 
     public function loginAction(Request $request) { 
      die("here1"); 
     } 

     public function loginCheckAction(Request $request) { 
      die("here2"); 
     }  
    } 

回答

2

添加到main防火墙:

main: 
    anonymous: true 

,并access control

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/, role: IS_AUTHENTICATED_REMEMBERED } 
+0

完美工作。谢谢malcolm! – user2017748