Filter의 사용자 로그인 유효성 검사에 대한 사순환 해결
2441 단어 j2ee
필터 클래스
package dsh.bikegis.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginCheckFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
// session
String username = (String) session.getAttribute("userName");
String uri = ((HttpServletRequest) request).getRequestURI();
// ,
if (username != null || !("".equals(username))|| uri.endsWith("index.html") ) {
chain.doFilter(request, response);
} else {
//
RequestDispatcher dispatcher = request.getRequestDispatcher("index.html");
dispatcher.forward(request, response);
}
}
public void destroy() {
}
}
web.xml 구성 필터: yes
dsh.bikegis.filter.LoginCheckFilter
yes
/manage/*
//로그인 확인
public String loginUser(){
if(this.us.getUser(user)!=null){
ActionContext.getContext().getSession().put("userName",user.getUsername());
return ActionSupport.SUCCESS;
}
this.errMesg=" , !";
return ActionSupport.ERROR;
}
그 중에서 로그인 검증은struts2의 Action이고 프론트 데스크톱 로그인 페이지에서 이 Action을 방문하여 성공하면session에 사용자 이름을 넣습니다.Filter에서session에 저장된 문자열을 얻습니다. 비어 있거나 로그인 페이지 (여기는 index.html) 가 아니면 검증에 성공하면 관리자 디렉터리에 접근하는 모든 파일을 열 수 있습니다.그렇지 않으면 index로 이동합니다.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Field error in object ** on field **org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 2 errors Field e...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.