Java 웹 필터 인증 로그인 인터페이스에 로그인하지 않음 방지
1. 필터 클래스를 필터링하여 필터 인터페이스를 구현하는 권한
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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// request,response,session
HttpServletRequest servletRequest = (HttpServletRequest) request;
HttpServletResponse servletResponse = (HttpServletResponse) response;
HttpSession session = servletRequest.getSession();
// URI
String path = servletRequest.getRequestURI();
//System.out.println(path);
// session
String empId = (String) session.getAttribute("empId");
/* Constants.java,
for (int i = 0; i < Constants.NoFilter_Pages.length; i++) {
if (path.indexOf(Constants.NoFilter_Pages[i]) > -1) {
chain.doFilter(servletRequest, servletResponse);
return;
}
}*/
//
if(path.indexOf("/login.jsp") > -1) {
chain.doFilter(servletRequest, servletResponse);
return;
}
// ,
if (empId == null || "".equals(empId)) {
//
servletResponse.sendRedirect("/JingXing_OA/login.jsp");
} else {
// ,
chain.doFilter(request, response);
}
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
2. 그리고 웹에서.xml에서 로그인 권한 검증이 필요한 JSP 파일을 구성합니다.a. 특정 JSP 파일 (예: a.jsp) 의 경우 로그인 인증이 필요합니다.
<!-- -->
<filter>
<filter-name>login</filter-name>
<filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>login</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
b. 디렉터리 (예: a/디렉터리) 의 모든 디렉터리에 있는 파일은 로그인 검증이 필요합니다.
<!-- -->
<filter>
<filter-name>login</filter-name>
<filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>login</filter-name>
<url-pattern>/a/*</url-pattern>
</filter-mapping>
위에서 말한 것은 편집자가 여러분께 소개한 자바 웹 필터 검증 로그인이 인터페이스에 로그인하지 않는 것을 방지하는 것입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 것이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.