package com.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
public class LoginFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpSession session = ((HttpServletRequest)request).getSession();
if("/mSys2.0/login.jsp".equals(((HttpServletRequest)request).getRequestURI())){
System.out.println("ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss");
// Cookie[] cookies = ((HttpServletRequest)request).getCookies();
Cookie[] cookies = ServletActionContext.getRequest().getCookies();
String logCookie = "";
if((cookies != null) && (cookies.length > 0)){
for(int i = 0 ; i < cookies.length; i++){
String name = cookies[i].getName();
System.out.println("LoginFilter----------logCookie name--->"+name+"---value--->"+cookies[i].getValue());
if(name != null && name.endsWith("logstats")){
logCookie = cookies[i].getValue();
System.out.println("LoginFilter----------logCookie--->"+logCookie);
}
}
}
System.out.println("ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss--->"+logCookie);
if(logCookie.endsWith("loged")){
// if(i>0){
((HttpServletResponse) response).sendRedirect("productActionQuery?pageCurrerntNumber=0");
}else{
chain.doFilter(request, response);
}
}else{
if(session.getAttribute("userInfo") == null){
((HttpServletResponse) response).sendRedirect("/mSys2.0/login.jsp");
}
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
Action---------------------->
public String logtest() throws
Exception{
if(ms.valid(userInfo.getUsername(), userInfo
.getPassword())){
System.
out.println("LoginAction--userInfo.getUsername------->"+userInfo
.getUsername());
System.
out.println("LoginAction--userInfo.getUsername------->"+userInfo
.getPassword());
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
//USED TO ASURE THE USER HAS THE AUTHORITY
session.put(
"username" , userInfo
.getUsername());
//USED TO ASURE THE USER HAD LOGED
if ( logStats .equals( "loged"
)){
Cookie c =
new Cookie("logstats",logStats
);
c.setMaxAge(60);
c.setPath(
"/"
);
ServletActionContext.getResponse().addCookie(c);
}
return "success"
;
}
else
{
return "error"
;
Web.xml-------------------------------------------------------->
<filter
>
< filter-name > LoginFilter </ filter-name
>
< filter-class > com.util.LoginFilter </ filter-class
>
</ filter
>
< filter-mapping
>
< filter-name > struts2 </ filter-name
>
< url-pattern > /* </ url-pattern
>
</ filter-mapping
>
< filter-mapping
>
< filter-name > LoginFilter </ filter-name
>
< url-pattern > *.jsp </ url-pattern
>
</ filter-mapping
>