SpringFramework/BASIC

[ Interceptor ] 게시판 session 회원 권한 검증 실습 로직

유혁스쿨 2020. 9. 10. 02:45
728x90
반응형
public class BoardInterceptor extends HandlerInterceptorAdapter{

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
        System.out.println("게시판 인터셉터 발동!");
        //BoardController쪽으로 들어갈 요청이 회원인지 아닌지 먼저 확인
		
        HttpSession session = request.getSession();
        if(session.getAttribute("login") == null) { 
            System.out.println("회원 인증 실패!");
//			response.sendRedirect("/error.jsp");
            response.setContentType("text/html; charset=utf-8");
            PrintWriter out = response.getWriter();
            String element =
            "<script> alert('로그인을 해야합니다!'); location.href='/돌아갈매핑주소'; </script>";
            out.println(element);
            out.flush();//브라우저 출력 비우기
            out.close();//아웃객체 닫기
            return false;//null이기때문에 로그인이 안되있으므로 꺼지라 한다.
        }
        return true;
	}
}

 

servlet-config.xml에서 인터셉터 클래스 빈등록과 인터셉터 사용 환경 설정 진행.

<beans:bean id="boardInterceptor" class="com.spring.mvc.board.commons.interceptor.BoardInterceptor" />

<interceptors>
    <interceptor>
        <mapping path="/board/write"/>
        <mapping path="/board/modify"/>
        <beans:ref bean="boardInterceptor"/>
    </interceptor>
</interceptors>

 

 

자세한 동작과정 ↓

 u-it.tistory.com/73

728x90
반응형