当用户点击导航到他需要登录的页面之前,他可以访问它,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获取限制数据它没有做任何事情,我可以让用户重定向到登录表单(如果没有登录则更改链接),但之后会转发到主页。有两种可能的解决方案(我希望)
显然,解决方案2是首选方案,但如果有可能,我还没有得到线索?