package nl.ipo.cds.admin.ba; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import nl.ipo.cds.admin.security.AuthzImpl; import org.apache.commons.lang.StringUtils; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class ViewContextHandlerInterceptorAdapter extends HandlerInterceptorAdapter { private static String VIEW_NAME = "viewName"; @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { super.postHandle(request, response, handler, modelAndView); if(modelAndView != null){ Map<String, Object> model = modelAndView.getModel(); String overriddenViewName = (String)model.get(VIEW_NAME); String viewName = StringUtils.isNotBlank(overriddenViewName) ? overriddenViewName : modelAndView.getViewName(); // add viewName to model if(!viewName.startsWith("redirect:")) { viewName = StringUtils.replace(viewName, "/", "_"); model.put(VIEW_NAME, viewName); } // Add security-context to model AuthzImpl authz = new AuthzImpl(); model.put("authz", authz); } } }