@3/20/2023
로그인된 사용자가 URL을 통해 비로그인 사용자용 요청에 접근하지 못하도록 함
•
로그인 화면 및 회원가입 화면에 접근 차단 Intercaptor
public class GuestInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
HttpSession session = request.getSession(false);
if (session != null && session.getAttribute("loginUser") != null) {
response.sendRedirect("/");
return false;
}
return true;
}
}
Java
복사
•
설정 클래스에 추가
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor())
.order(0)
.addPathPatterns("/**")
.excludePathPatterns("/", "/posts", "/users/login", "/users/logout", "/users/new",
"/css/**", "/*.ico", "/error", "/assets/**");
registry.addInterceptor(new LoginButtonsInterceptor())
.order(1)
.addPathPatterns("/**");
registry.addInterceptor(new GuestInterceptor())
.order(2)
.addPathPatterns("/users/login", "/users/new");
}
}
Java
복사