login : login check (interceptor)
This commit is contained in:
@@ -3,6 +3,7 @@ package hello.login;
|
||||
import hello.login.web.filter.LogFilter;
|
||||
import hello.login.web.filter.LoginCheckFilter;
|
||||
import hello.login.web.interceptor.LogInterceptor;
|
||||
import hello.login.web.interceptor.LoginCheckInterceptor;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -20,6 +21,11 @@ public class WebConfig implements WebMvcConfigurer {
|
||||
.order(1)
|
||||
.addPathPatterns("/**")
|
||||
.excludePathPatterns("/css/**", "/*.ico", "/error");
|
||||
|
||||
registry.addInterceptor(new LoginCheckInterceptor())
|
||||
.order(2)
|
||||
.addPathPatterns("/**")
|
||||
.excludePathPatterns("/", "/members/add", "/login", "/logout", "/css/**", "/*.ico", "/error");
|
||||
}
|
||||
|
||||
// @Bean
|
||||
@@ -32,7 +38,7 @@ public class WebConfig implements WebMvcConfigurer {
|
||||
return filterRegistrationBean;
|
||||
}
|
||||
|
||||
@Bean
|
||||
// @Bean
|
||||
public FilterRegistrationBean<Filter> loginCheckFilter() {
|
||||
FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>();
|
||||
filterRegistrationBean.setFilter( new LoginCheckFilter());
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package hello.login.web.interceptor;
|
||||
|
||||
import hello.login.web.SessionConst;
|
||||
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;
|
||||
|
||||
@Slf4j
|
||||
public class LoginCheckInterceptor implements HandlerInterceptor {
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
|
||||
String requestURI = request.getRequestURI();
|
||||
log.info("인증 체크 인터셉터 실행 {}", requestURI);
|
||||
|
||||
HttpSession session = request.getSession();
|
||||
|
||||
if (session == null || session.getAttribute(SessionConst.LOGIN_MEMBER) == null) {
|
||||
log.info("미인증 사용자 요청");
|
||||
// 로그인으로 redirect
|
||||
response.sendRedirect("/login?redirectURL=" + requestURI);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user