Filter code is as follows :
/* (non-Java-doc)
* @see javax.servlet.Filter#doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest)request;
String forward =filterConfig.getInitParameter("loginPage");
System.out.print("session:");
System.out.println(httpServletRequest.getSession(false));
if (httpServletRequest.getServletPath().indexOf("login")>0){
System.out.println("login if :<");
chain.doFilter(request,response);
return;
}
if (httpServletRequest.getSession(false) != null){
/*
System.out.println("ContextPath:"+httpServletRequest.getContextPath());
System.out.println("PathTranslated:"+httpServletRequest.getPathTranslated());
System.out.println("RequestURI:"+httpServletRequest.getRequestURI());
System.out.println("ServletPath:"+httpServletRequest.getServletPath());
System.out.println("RequestURL:"+httpServletRequest.getRequestURL());
*/
System.out.println("-->session is not null");
System.out.println("ServletPath:"+httpServletRequest.getServletPath());
if (httpServletRequest.getServletPath().startsWith("/authed")){
AcenteHedefKullanici kullanici = (AcenteHedefKullanici)httpServletRequest.getSession().getAttribute(AgentConstants.ATTR_KULLANICI);
System.out.println("servlet path startsWith /authed");
if (kullanici!=null){
System.out.println("kullanici is not null!");
if (kullanici.getYetkiGuncelleme() == 1) {
System.out.println("yetki if :<");
chain.doFilter(request, response);
return;
} else {
System.out.println("yetkisiz if :<");
forward = filterConfig.getInitParameter("homePage");
}
}
}else{
System.out.println("servlet path does not startsWith /authed");
chain.doFilter(request,response);
return;
}
}
System.out.println("--> the last...");
System.out.println("forward:"+forward);
RequestDispatcher dispatcher = filterConfig.getServletContext().getRequestDispatcher(forward);
dispatcher.forward(request,response);
return;
}