Java tutorial
// // Copyright 2009 Robin Komiwes, Bruno Verachten, Christophe Cordenier // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package com.wooki.services.security.spring; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler; import com.wooki.services.WookiModule; /** * Implement a custom target url resolver for spring security based on cookies. * * @author ccordenier */ public class WookiTargetUrlResolver extends SimpleUrlAuthenticationSuccessHandler { @Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { super.onAuthenticationSuccess(request, response, authentication); } @Override protected String determineTargetUrl(HttpServletRequest request, HttpServletResponse response) { // Check first wooki last view Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { if (WookiModule.VIEW_REFERER.equals(cookie.getName())) { return cookie.getValue(); } } } return super.determineTargetUrl(request, response); } }