하석형 하석형 05-15
250515 하석형 회원상태가 차단/탈퇴 시 로그인 불가 처리
@876c190d1199a242799ed7f2c376b6331da56b6e
src/main/java/com/takensoft/cms/mber/vo/MberVO.java
--- src/main/java/com/takensoft/cms/mber/vo/MberVO.java
+++ src/main/java/com/takensoft/cms/mber/vo/MberVO.java
@@ -86,12 +86,12 @@
 
     @Override
     public boolean isAccountNonExpired() {
-        return this.useYn;
+        return !"0".equals(this.mbrStts);
     }
 
     @Override
     public boolean isAccountNonLocked() {
-        return this.useYn;
+        return !"3".equals(this.mbrStts);
     }
 
     @Override
@@ -101,7 +101,7 @@
 
     @Override
     public boolean isEnabled() {
-        return this.useYn;
+        return "1".equals(this.mbrStts);
     }
 
     // JWT 필터용 생성자
@@ -117,8 +117,4 @@
         this.mbrNm = mbrNm;
         this.authorList = authorList;
     }
-
-
-
-
 }
src/main/java/com/takensoft/common/config/SecurityConfig.java
--- src/main/java/com/takensoft/common/config/SecurityConfig.java
+++ src/main/java/com/takensoft/common/config/SecurityConfig.java
@@ -157,9 +157,6 @@
         // 세션 설정
         http.sessionManagement((session) -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS));
 
-        // Context Path 검증 필터
-        http.addFilterBefore(new ContextPathFilter(cntxtPthService), SecurityContextPersistenceFilter.class);
-
         http.exceptionHandling((exception) -> exception
                 .authenticationEntryPoint(authenticationEntryPoint) // 접근 권한이 없는 경우에 호출
                 .accessDeniedHandler(accessDenieHandler) // 인증되지 않은 상태로 접근 했을 때 호출
@@ -172,11 +169,18 @@
 //                .anyRequest().permitAll() // 모든 사용자 접근 가능
         );
 
+        // Context Path 검증 필터
+        http.addFilterBefore(new ContextPathFilter(cntxtPthService), SecurityContextPersistenceFilter.class);
+
+        // JWT 토큰 검증 필터
         http.addFilterBefore(new JWTFilter(jwtUtil, appConfig, loginModeService, loginPolicyService, redisTemplate), LoginFilter.class);
 
-        http.addFilterBefore(new AccesFilter(accesCtrlService, httpRequestUtil, appConfig), JWTFilter.class); // 아이피 검증
+        // 접근(아이피) 검증 필터
+        http.addFilterBefore(new AccesFilter(accesCtrlService, httpRequestUtil, appConfig), JWTFilter.class);
+
+        // 로그인 필터
         http.addFilterAt(new LoginFilter(authenticationManager(authenticationConfiguration), jwtUtil, refreshTokenService, lgnHstryService, httpRequestUtil,
-                 loginModeService, loginPolicyService, sessionUtil, JWT_ACCESSTIME, JWT_REFRESHTIME, COOKIE_TIME, redisTemplate), UsernamePasswordAuthenticationFilter.class); // 로그인 필터
+                 loginModeService, loginPolicyService, sessionUtil, JWT_ACCESSTIME, JWT_REFRESHTIME, COOKIE_TIME, redisTemplate), UsernamePasswordAuthenticationFilter.class);
 
         return http.build();
     }
Add a comment
List