SpringBoot 로그 인 차단 설정 상세 설명(실측 사용 가능)

배경:한 사용자 의 로그 인 차단 을 써 서 인터넷 에서 좋 은 것 을 찾 지 못 했 습 니 다.그래서 스스로 시험 해 보고 정리 해서 여러분 께 공유 합 니 다.
1.사용자 정의 로그 인 차단기 LoginInterceptor

public class LoginInterceptor implements HandlerInterceptor {

  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
  	//      
    User loginUser = (User) request.getSession().getAttribute("user");
    if (loginUser == null) {
      //        ,           
      throw new CustomException(ResultCode.USER_NOT_LOGIN);
    }
    return true;
  }

  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

  }

  @Override
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

  }
}
2.WebConfigure 에 차단기 추가

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    //  TestInterceptor   
    registry.addInterceptor(new LoginInterceptor())
        .addPathPatterns("/**")
        //          ,         /**/xxx
        .excludePathPatterns("/**/login", "/**/register"); 
  }
}
3.로그 인 인터페이스

 /**
   *   
   * @return     
   */
public User login(UserVO userVO. HttpServlet) {
  String username = userVO.getUsername();
  String password = userVO.getPassword();

  User user = userMapper.findByUsernameAndPassword(username, password);
  //      
  if(user == null) {
    throw new CustomException(ResultCode.USER_ACCOUNT_ERROR);
  }
  //   session      
  SessionUtils.setSessionAttribute("user", user);
  return user;
}
글 속 의 코드 디 테 일 은 일일이 열거 하지 않 습 니 다.여기 서 중점적으로 토론 하 는 차단기 입 니 다.관심 이 있 는 친 구 는 제 가 다른 코드 를 얻 었 다 고 개인 적 으로 이야기 할 수 있 습 니 다.
결실
로그 인하 지 않 은 상태 에서 일반 인터페이스 알림 이 로그 인하 지 않 았 음 을 요청 합 니 다.

로그 인 인터페이스 요청.

로그 인 후 일반 인 터 페 이 스 를 요청 하고 정상 으로 돌아 갑 니 다.
-END-
SpringBoot 로그 인 차단 설정 에 대한 자세 한 설명(실측 사용 가능)에 관 한 글 은 여기까지 입 니 다.더 많은 SpringBoot 로그 인 차단 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기