我想解决的问题是在登录后自动将我的应用程序重定向到用户输入的URL。由于我有一个集中的身份验证服务器,我无法使用用户' HTTP_REFERER'因为它在传输到认证服务器时总是返回null。
我的解决方案是使用我的应用服务器中的security.yml
将重定向url作为url参数传递。我已经实现了如下,
parameters.php
$container->setParameter('referer', $_SERVER['REQUEST_URI']);
security.yml
secured_area:
pattern: ^/
stateless: true
form_login:
login_path: %accounts_host%/signin?referer=%referer%
simple_preauth:
authenticator: app.security.authenticator
但我的问题是referer
中的security.yml
参数始终是静态的。它总是提供我输入的第一个应用程序网址。假设我输入www.appserver.com/product/1
,下次如果我输入www.appserver.com/product/200
,referer
将始终返回www.appserver.com/product/1
验证服务器。
但是,如果我在print_r($_SERVER['REQUEST_URI']); exit();
parameters.php
中为我的每个请求更改了值。
我在这已经有一段时间了,此时我很失落。任何有关在referer
上动态获取此security.yml
值的帮助都将非常感激。谢谢:))