Framework
[Spring] Interceptor 를 설정(로그인 체크)
비니미니파파
2014. 12. 10. 10:51
servlet-context.xml 설정 추가
<interceptors>
<interceptor>
<mapping path="/**/*" />
<exclude-mapping path="/main/*"/>
<exclude-mapping path="/login/*"/>
<beans:bean class="com.d4emon.interceptor.SessionInterceptor"></beans:bean>
</interceptor>
</interceptors>
*** exclude-maping 은 Spring 3.2 부터 지원한다. ****
SessionInterceptor.java 파일 생성
package com.d4emon.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class SessionInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("Interceptor : PreHandle");
// Session userid check
HttpSession session = request.getSession();
String userid = (String) session.getAttribute("userid");
// Login false
if(null==userid) {
System.out.println("Interceptor : Session Check Fail");
// main page 로 이동
response.sendRedirect("/main/main.do");
return false;
}
// Login true
else {
System.out.println("Interceptor : Session Check true");
return super.preHandle(request, response, handler);
}
}
}