package egovframework.interceptors;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@Slf4j
public class LoginAdapterInterceptor implements HandlerInterceptor {

//메서드의 반환값이 true인 경우 Handler의 다음 체인이 실행, false인 경우 중단하고 남은 interceptor와 Controller가 실행되지 않는다

//	@Override
//	public void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object arg2, Exception arg3) throws Exception {
//	//view 에서 최종결과가 생성하는일을 포함한 모든일이 완료되었을때 실행
//	}
//
//	@Override
//	public void postHandle(HttpServletRequest request, HttpServletResponse response,Object arg2, ModelAndView arg3) throws Exception {
//	//Controller가 실행된후 실행
//	}

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) {
        //Controller 가 호출되기전에 실행
        HttpSession session = request.getSession();
        if (session.getAttribute("userId") != null) {
            return true;
        } else {
            try {
                response.sendRedirect("/admin/index.do");
            } catch (IOException e) {
                log.error("LoginAdapterInterceptor: preHandle... 잘못된 페이지 입니다.");
            }
        }
        return false;
    }

}
