|
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
public class DefaultInterceptor extends HandlerInterceptorAdapter {
private static Logger log = LoggerFactory.getLogger(DefaultInterceptor.class);
// Spring 3.0 does not support exclusion yet,
private List<String>excludeList = null;
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
String requestUri = request.getRequestURI();
log.debug("RequestUri: " + requestUri);
HydraPrincipal p = null;
if (!excludeHandle(requestUri)) {
if (something) {
response.sendRedirect("error_page.html");
return false;
}
}
//request.getSession().setAttribute("something", "somevalue");
}
return super.preHandle(request, response, handler);
}
private boolean excludeHandle(String requestUri) {
if (excludeList!=null) {
for (String exclude : excludeList) {
if (requestUri.endsWith(exclude)) {
return true;
}
}
}
return false;
}
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception { //NOSONAR this is actually an override
// TODO Auto-generated method stub
super.afterCompletion(request, response, handler, ex);
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception { //NOSONAR this is actually an override
if(!excludeHandle(request.getRequestURI())) {
modelAndView.addObject("buildVersion", properties.getBuildVersion());
}
super.postHandle(request, response, handler, modelAndView);
}
public List<String> getExcludeList() {
return excludeList;
}
public void setExcludeList(List<String> excludeList) {
this.excludeList = excludeList;
}
}
==================================
config.xml
==================================
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path = "/*.html" />
<bean class="com.XXX.DefaultInterceptor">
<property name="excludeList">
<list>
<value>/authtenticated.html</value>
<value>/accessdenied.html</value>
</list>
</property>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver"/>
|