Spring安全性:注销后重定向到上一个url

Pet*_*son 5 spring-security

我有一个使用Spring安全性的Web应用程序.我想在用户注销之前将用户重定向回他们所在的同一页面.

是否有捷径可寻?

mey*_*tee 7

不确定这个问题涉及哪个Spring版本 - 但是自Spring 3.0以来useReferer标准上有一个属性org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler.

所以你需要做的就是像这样配置它,注销将重定向到用户来自的地方:

<bean id="logoutSuccessHandler" class="org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler">
    <property name="useReferer" value="true"/>
</bean>

<security:http>
    <security:logout logout-url="/logout" success-handler-ref="logoutSuccessHandler" />
</security:http>
Run Code Online (Sandbox Code Playgroud)


Vij*_*bey 1

您可以在 Spring Security 的过滤器链中添加新的过滤器。该新过滤器将应用于/logoutURL。通过此过滤器时,您可以将当前页面保存在字段变量中。以及通过过滤器返回时。您可以将请求重定向到保存的 URL。我认为这会有所帮助。您可以使用对象Referer中的标头获取当前页面 URL Request