Abh*_*jee 1 spring-security logout
如何获取用户名或UserDetail对象logout-success-url?以下是我的配置:
<form-login default-target-url="/security/loginSuccess.action"
always-use-default-target="false"
authentication-failure-url="/security/loginFailed.action"
login-page="/security/restrictUser.action"/>
<logout invalidate-session="true" logout-success-url="/security/logoutUser.action" />
<session-management
session-authentication-strategy-ref="customMsgAwareConcurrentSessionControlStartegy"
invalid-session-url="/security/logoutUser.action"/>
Run Code Online (Sandbox Code Playgroud)
我想获得请求注销的用户名logout-success-url(对我而言,这是一个Struts 2操作方法).我已经检查过SecurityContextHolder,但是SecurityContextHolder当控件到达我的动作方法时,它似乎已被清除logout-success-url.
使用自定义LogoutSuccessHandler.在配置中定义bean success-handler-ref的<logout>tag 和use 属性.
<logout success-handler-ref="customLogoutSuccessHandler" />
<beans:bean id="customLogoutSuccessHandler" class="..." />
Run Code Online (Sandbox Code Playgroud)
里面CustomLogoutSuccessHandler有onLogoutSuccess方法有Authentication争论.
public class CustomLogoutSuccessHandler extends
AbstractAuthenticationTargetUrlRequestHandler implements
LogoutSuccessHandler {
public void onLogoutSuccess(HttpServletRequest request,
HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
// use authentication to get user name
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1619 次 |
| 最近记录: |