-1
Java/J2EE 및 JSF를 사용하여 웹 응용 프로그램을 개발 중입니다. 내 응용 프로그램에는 사용자가 로그인과 암호를 입력하는 로그인 페이지가있는 여러 페이지가 있습니다. 내 문제는 내가 로그인 페이지를 통과하지 않고도 액세스 할 수있는 페이지의 URL을 입력 할 때입니다. 이것을 방지하는 방법?로그인 페이지를 통하지 않고 페이지에 액세스
Java/J2EE 및 JSF를 사용하여 웹 응용 프로그램을 개발 중입니다. 내 응용 프로그램에는 사용자가 로그인과 암호를 입력하는 로그인 페이지가있는 여러 페이지가 있습니다. 내 문제는 내가 로그인 페이지를 통과하지 않고도 액세스 할 수있는 페이지의 URL을 입력 할 때입니다. 이것을 방지하는 방법?로그인 페이지를 통하지 않고 페이지에 액세스
내게 제안 된 대답은 나를 위해 효과가 없었습니다. init() 메서드를 다음과 같이 재정의해야했습니다.
public void init(FilterConfig filterConfig) throws ServletException {
String urls = filterConfig.getInitParameter("restrictedPages");
StringTokenizer token = new StringTokenizer(urls, ",");
ArrayList<String> urlList = new ArrayList<>();
while (token.hasMoreTokens()) {
urlList.add(token.nextToken());
}
}
그리고이 줄을 웹에 추가했습니다. XML
<init-param>
<param-name>restrictedPages</param-name>
<param-value>/login.jsp</param-value>
</init-param>
그리고 내 doFilter 방법은 다음과 같습니다
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
if (session == null || session.getAttribute("idCustomer") == null) {
response.sendRedirect("/login.jsp");
} else {
chain.doFilter(req, res);
}
}
가능한 중복 : http://stackoverflow.com/a/8480241/1362049 –
당신이 당신의 웹 자바 EE의 보안을 위해이 일을 구성. XML 파일? Sun의 보안 역할 가이드를 다시 살펴보고 구성을 검토해보십시오. http://docs.oracle.com/javaee/5/tutorial/doc/bncav.html – 8bitjunkie
가능한 복제본 [JSF에서 로그인 필터 구현 방법 ?] (http://stackoverflow.com/questions/8480100/how-implement-a-login-filter-in-jsf) –