How to customize a spring-security form-login. Part 4
An article from my zk integration series.
AuthenticationSuccessHandler.java
Handles the workflow after a successful authentication. It extends from SimpleUrlAuthenticationSuccessHandler in which we can configure a default URL. There the successful authenticated users can be sent to.
AuthenticationSuccessHandler.java
public class MyAuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler {
private transient static final Logger logger = Logger.getLogger(MyAuthenticationSuccessHandler.class);
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
if (logger.isDebugEnabled()) {
logger.debug("MyAuthenticationSuccessHandler");
logger.debug(request.getContextPath());
logger.debug(getDefaultTargetUrl());
logger.debug(request.getContextPath() + getDefaultTargetUrl());
logger.debug("getPrincipal() : " + authentication.getPrincipal().toString());
logger.debug("getName() : " + authentication.getName());
logger.debug("getCredentials() : " + authentication.getCredentials());
Collection<GrantedAuthority> col = authentication.getAuthorities();
logger.debug("getAuthorities() COUNT : " + col.size());
int i = 0;
for (GrantedAuthority grantedAuthority : col) {
++i;
logger.debug("getAuthorities()" + i + " : " + grantedAuthority.getAuthority().toString());
}
logger.debug("isAuthenticated : " + authentication.isAuthenticated());
}
// redirect the user to the configured URL
response.sendRedirect(request.getContextPath() + getDefaultTargetUrl());
}
}
Part 5 of this article you can read here.
Samples are hostet in the Zksample2 project on
Have fun with it.
Stephan Gerth
Dipl.rer.pol.
PS: Help to prevent the global warming by writing cool software