Symfony登录表单" use_referer"忽略/不工作

时间:2014-05-10 18:19:30

标签: ajax symfony

当用户点击导航到他需要登录的页面之前,他可以访问它,Symfony会将用户重定向到登录页面,当用户成功登录后,他会被重定向到所请求的页面。

现在,当用户直接导航到登录页面时,用户将在成功登录后重定向到主页(默认情况下)。我的理解是你可以使用use_referer来防止这种行为,以便用户被重定向到他点击登录链接的页面。但是,以下代码似乎不起作用:

security.yml

firewalls:
    main:
        pattern: /.*
        provider: user_db
        form_login:
            use_referer: true  //use_referer TRUE
            login_path: /login/
            check_path: /login_check
            remember_me: true
        logout:
            path: /logout/
            target: /
        remember_me:
            key: <random key here>
            lifetime: 2592000
            path: /.*
            domain: ~
        security: true
        anonymous: true

login.html.twig

<form action="{{ path('login_check') }}" method="post">
        <label for="username">User:</label>
        <input id="username" type="text" name="_username" value="{{ last_username }}" />
        <label for="password">Password:</label>
        <input id="password" type="password" name="_password" />
        <input type="submit" name="login" />
</form>

我有什么遗失的吗?


更多信息

当您点击具有受限访问链接的页面时,Symfony做得很好,但是如果有一个链接尝试通过AJAX获取限制数据它没有做任何事情,我可以让用户重定向到登录表单(如果没有登录则更改链接),但之后会转发到主页。有两种可能的解决方案(我希望)

  1. 成功登录后,将用户重定向回referer页面
  2. 重定向回referer页面并触发ajax调用。
  3. 显然,解决方案2是首选方案,但如果有可能,我还没有得到线索?

0 个答案:

没有答案