hmkim 03-24
250324 김혜민 토큰관련 패키지 수정
@c2e7d5d0a1173e8eb8d8fb4152f47b1aa4b48c20
 
src/main/java/com/takensoft/cms/mber/vo/RefreshVO.java (deleted)
--- src/main/java/com/takensoft/cms/mber/vo/RefreshVO.java
@@ -1,28 +0,0 @@
-package com.takensoft.cms.mber.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.util.Date;
-/**
- * @author  : takensoft
- * @since   : 2024.04.01
- * @modification
- *     since    |    author    | description
- *  2024.04.01  |  takensoft   | 최초 등록
- *
- * RefreshToken 정보 관련 VO
- */
-@Setter
-@Getter
-@NoArgsConstructor
-@AllArgsConstructor
-public class RefreshVO {
-
-    private String mbrId; // 회원 아이디
-    private String token; // 토큰
-    private Date expryDt; // 만료기간
-    private String useIp; // 사용중인 아이피
-}
src/main/java/com/takensoft/cms/token/Schedule/RefreshScheduler.java (Renamed from src/main/java/com/takensoft/cms/mber/Schedule/RefreshScheduler.java)
--- src/main/java/com/takensoft/cms/mber/Schedule/RefreshScheduler.java
+++ src/main/java/com/takensoft/cms/token/Schedule/RefreshScheduler.java
@@ -1,8 +1,6 @@
-package com.takensoft.cms.mber.Schedule;
+package com.takensoft.cms.token.Schedule;
 
-import com.takensoft.cms.mber.dao.RefreshTokenDAO;
-import com.takensoft.common.exception.CustomUpdateFailException;
-import org.springframework.dao.DataAccessException;
+import com.takensoft.cms.token.dao.RefreshTokenDAO;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
src/main/java/com/takensoft/cms/token/dao/RefreshTokenDAO.java (Renamed from src/main/java/com/takensoft/cms/mber/dao/RefreshTokenDAO.java)
--- src/main/java/com/takensoft/cms/mber/dao/RefreshTokenDAO.java
+++ src/main/java/com/takensoft/cms/token/dao/RefreshTokenDAO.java
@@ -1,6 +1,6 @@
-package com.takensoft.cms.mber.dao;
+package com.takensoft.cms.token.dao;
 
-import com.takensoft.cms.mber.vo.RefreshVO;
+import com.takensoft.cms.token.vo.RefreshTknVO;
 import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
 
 /**
@@ -17,20 +17,20 @@
 public interface RefreshTokenDAO {
 
     /**
-     * @param refreshVO - RefreshToken 정보 관련 VO
+     * @param refreshTknVO - RefreshToken 정보 관련 VO
      * @return int - refresh token 등록 결과
      *
      * refresh token 등록
      */
-    int save(RefreshVO refreshVO);
+    int save(RefreshTknVO refreshTknVO);
 
     /**
-     * @param refreshVO - RefreshToken 정보 관련 VO
+     * @param refreshTknVO - RefreshToken 정보 관련 VO
      * @return int - refresh token 삭제 결과
      *
      * refresh token 삭제
      */
-    int deleteByRefresh(RefreshVO refreshVO);
+    int deleteByRefresh(RefreshTknVO refreshTknVO);
 
     /**
      * @return int - 기한 만료된 refresh token 삭제 결과
@@ -40,10 +40,10 @@
     int cleanExpiredRefreshTokens();
 
     /**
-     * @param refreshVO - RefreshToken 정보 관련 VO
+     * @param refreshTknVO - RefreshToken 정보 관련 VO
      * @return boolean - refresh token 등록 여부
      *
      * refresh token 등록 여부 확인
      */
-    boolean findByCheckRefresh(RefreshVO refreshVO);
+    boolean findByCheckRefresh(RefreshTknVO refreshTknVO);
 }
src/main/java/com/takensoft/cms/token/service/RefreshTokenService.java (Renamed from src/main/java/com/takensoft/cms/mber/service/RefreshTokenService.java)
--- src/main/java/com/takensoft/cms/mber/service/RefreshTokenService.java
+++ src/main/java/com/takensoft/cms/token/service/RefreshTokenService.java
@@ -1,10 +1,9 @@
-package com.takensoft.cms.mber.service;
+package com.takensoft.cms.token.service;
 
-import com.takensoft.cms.mber.vo.RefreshVO;
+import com.takensoft.cms.token.vo.RefreshTknVO;
 
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
-import org.springframework.dao.DataAccessException;
 
 /**
  * @author takensoft
@@ -26,7 +25,7 @@
      *
      * refresh token 등록
      */
-    public int saveRefreshToken(HttpServletRequest req, HttpServletResponse res, RefreshVO refresh, long expiredMs);
+    public int saveRefreshToken(HttpServletRequest req, HttpServletResponse res, RefreshTknVO refresh, long expiredMs);
 
     /**
      * @param req - HTTP 요청 객체
@@ -48,19 +47,19 @@
 
     /**
      * @param req - HTTP 요청 객체
-     * @param refreshVO - RefreshToken 정보
+     * @param refreshTknVO - RefreshToken 정보
      * @return int - 토큰 삭제 결과
      *
      * 토큰 삭제
      */
-    public int delete(HttpServletRequest req, RefreshVO refreshVO);
+    public int delete(HttpServletRequest req, RefreshTknVO refreshTknVO);
 
     /**
      * @param req - HTTP 요청 객체
-     * @param refreshVO - RefreshToken 정보
+     * @param refreshTknVO - RefreshToken 정보
      * @return boolean - refresh token 등록 여부
      *
      * refresh token 등록 여부 확인
      */
-    public boolean findByCheckRefresh(HttpServletRequest req, RefreshVO refreshVO);
+    public boolean findByCheckRefresh(HttpServletRequest req, RefreshTknVO refreshTknVO);
 }
src/main/java/com/takensoft/cms/token/service/impl/RefreshTokenServiceImpl.java (Renamed from src/main/java/com/takensoft/cms/mber/service/Impl/RefreshTokenServiceImpl.java)
--- src/main/java/com/takensoft/cms/mber/service/Impl/RefreshTokenServiceImpl.java
+++ src/main/java/com/takensoft/cms/token/service/impl/RefreshTokenServiceImpl.java
@@ -1,10 +1,10 @@
-package com.takensoft.cms.mber.service.Impl;
+package com.takensoft.cms.token.service.impl;
 
-import com.takensoft.cms.mber.dao.RefreshTokenDAO;
-import com.takensoft.cms.mber.service.RefreshTokenService;
+import com.takensoft.cms.token.dao.RefreshTokenDAO;
+import com.takensoft.cms.token.service.RefreshTokenService;
 import com.takensoft.cms.mber.vo.MberAuthorVO;
 import com.takensoft.cms.mber.vo.MberVO;
-import com.takensoft.cms.mber.vo.RefreshVO;
+import com.takensoft.cms.token.vo.RefreshTknVO;
 import com.takensoft.common.config.RedisConfig;
 import com.takensoft.common.util.HttpRequestUtil;
 import com.takensoft.common.util.JWTUtil;
@@ -108,7 +108,7 @@
      * refresh token 등록
      */
     @Override
-    public int saveRefreshToken(HttpServletRequest req, HttpServletResponse res, RefreshVO refresh, long expiredMs){
+    public int saveRefreshToken(HttpServletRequest req, HttpServletResponse res, RefreshTknVO refresh, long expiredMs){
         try {
             // 만료 시간
             refresh.setExpryDt(new Date(System.currentTimeMillis() + expiredMs));
@@ -144,14 +144,14 @@
             //Refresh 토큰 Cookie 값 0
             //res.addCookie(jwtUtil.createCookie("refresh",null, 0));
 
-            RefreshVO refreshVO = new RefreshVO();
-            refreshVO.setMbrId((String) jwtUtil.getClaim(refreshTokenCheck(req).get("refreshToken").toString(), "mbrId"));
+            RefreshTknVO refreshTknVO = new RefreshTknVO();
+            refreshTknVO.setMbrId((String) jwtUtil.getClaim(refreshTokenCheck(req).get("refreshToken").toString(), "mbrId"));
 
             //중복로그인 비허용시 삭제
             if (!redisConfig.isAllowMultipleLogin()) {
-                redisTemplate.delete("jwt:" + refreshVO.getMbrId()); // 기존 JWT 삭제
+                redisTemplate.delete("jwt:" + refreshTknVO.getMbrId()); // 기존 JWT 삭제
             }
-            return delete(req, refreshVO);
+            return delete(req, refreshTknVO);
         } catch (DataAccessException dae) {
             throw dae;
         } catch (Exception e) {
@@ -205,7 +205,7 @@
 
             // 남은 시간이 3시간 미만으로 남았을 경우 RefreshToken 재발급
             if(timeDffrnc < 3) {
-                RefreshVO refresh = new RefreshVO();
+                RefreshTknVO refresh = new RefreshTknVO();
                 refresh.setMbrId(mber.getMbrId());
 
                 // 기존 RefreshToken 삭제
@@ -233,7 +233,7 @@
     }
     /**
      * @param req - HTTP 요청 객체
-     * @param refreshVO - RefreshToken 정보
+     * @param refreshTknVO - RefreshToken 정보
      * @return int - 토큰 삭제 결과
      * @throws DataAccessException - db 관련 예외 발생 시
      * @throws Exception - 그 외 예외 발생 시
@@ -241,14 +241,14 @@
      * 토큰 삭제
      */
     @Override
-    public int delete(HttpServletRequest req, RefreshVO refreshVO) {
+    public int delete(HttpServletRequest req, RefreshTknVO refreshTknVO) {
         try {
-            refreshVO.setUseIp(httpRequestUtil.getIp(req));
+            refreshTknVO.setUseIp(httpRequestUtil.getIp(req));
             //중복로그인 비허용시 삭제
             if (!redisConfig.isAllowMultipleLogin()) {
-                redisTemplate.delete("jwt:" + refreshVO.getMbrId()); // 기존 JWT 삭제
+                redisTemplate.delete("jwt:" + refreshTknVO.getMbrId()); // 기존 JWT 삭제
             }
-            return refreshTokenDAO.deleteByRefresh(refreshVO);
+            return refreshTokenDAO.deleteByRefresh(refreshTknVO);
 
         } catch (DataAccessException dae) {
             throw dae;
@@ -258,7 +258,7 @@
     }
     /**
      * @param req - HTTP 요청 객체
-     * @param refreshVO - RefreshToken 정보
+     * @param refreshTknVO - RefreshToken 정보
      * @return boolean - refresh token 등록 여부
      * @throws DataAccessException - db 관련 예외 발생 시
      * @throws Exception - 그 외 예외 발생 시
@@ -266,11 +266,11 @@
      * refresh token 등록 여부 확인
      */
     @Override
-    public boolean findByCheckRefresh(HttpServletRequest req, RefreshVO refreshVO)  {
+    public boolean findByCheckRefresh(HttpServletRequest req, RefreshTknVO refreshTknVO)  {
         try {
             // 사용중인 아이피
-            refreshVO.setUseIp(httpRequestUtil.getIp(req));
-            return refreshTokenDAO.findByCheckRefresh(refreshVO);
+            refreshTknVO.setUseIp(httpRequestUtil.getIp(req));
+            return refreshTokenDAO.findByCheckRefresh(refreshTknVO);
         } catch (DataAccessException dae) {
             throw dae;
         } catch (Exception e) {
 
src/main/java/com/takensoft/cms/token/vo/RefreshTknVO.java (added)
+++ src/main/java/com/takensoft/cms/token/vo/RefreshTknVO.java
@@ -0,0 +1,38 @@
+package com.takensoft.cms.token.vo;
+
+import lombok.*;
+
+import java.util.Date;
+/**
+ * @author  : takensoft
+ * @since   : 2024.04.01
+ * @modification
+ *     since    |    author    | description
+ *  2024.04.01  |  takensoft   | 최초 등록
+ *
+ * RefreshToken 정보 관련 VO
+ */
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
+public class RefreshTknVO {
+
+    private String mbrId; // 회원 아이디
+    private String token; // 토큰
+    private Date expryDt; // 만료기간
+    private String useIp; // 사용중인 아이피
+/*
+    @Builder
+    public RefreshTknVO(String mbrId, String token, Date expryDt, String useIp) {
+        this.mbrId = mbrId;
+        this.token = token;
+        this.expryDt = expryDt;
+        this.useIp = useIp;
+    }
+
+    public RefreshTknVO(String mbrId, String useIp) {
+        this.mbrId = mbrId;
+        this.useIp = useIp;
+    }*/
+}
src/main/java/com/takensoft/cms/token/web/RefreshTokenController.java (Renamed from src/main/java/com/takensoft/cms/mber/web/RefreshTokenController.java)
--- src/main/java/com/takensoft/cms/mber/web/RefreshTokenController.java
+++ src/main/java/com/takensoft/cms/token/web/RefreshTokenController.java
@@ -1,7 +1,7 @@
-package com.takensoft.cms.mber.web;
+package com.takensoft.cms.token.web;
 
 
-import com.takensoft.cms.mber.service.RefreshTokenService;
+import com.takensoft.cms.token.service.RefreshTokenService;
 import com.takensoft.common.message.MessageCode;
 import com.takensoft.common.util.ResponseData;
 import com.takensoft.common.util.ResponseUtil;
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
@@ -2,7 +2,7 @@
 
 import com.takensoft.cms.accesCtrl.service.AccesCtrlService;
 import com.takensoft.cms.mber.service.LgnHstryService;
-import com.takensoft.cms.mber.service.RefreshTokenService;
+import com.takensoft.cms.token.service.RefreshTokenService;
 import com.takensoft.common.filter.AccesFilter;
 import com.takensoft.common.filter.JWTFilter;
 import com.takensoft.common.filter.LoginFilter;
src/main/java/com/takensoft/common/filter/LoginFilter.java
--- src/main/java/com/takensoft/common/filter/LoginFilter.java
+++ src/main/java/com/takensoft/common/filter/LoginFilter.java
@@ -3,10 +3,10 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.takensoft.cms.mber.dto.LoginDTO;
 import com.takensoft.cms.mber.service.LgnHstryService;
-import com.takensoft.cms.mber.service.RefreshTokenService;
+import com.takensoft.cms.token.service.RefreshTokenService;
 import com.takensoft.cms.mber.vo.LgnHstryVO;
 import com.takensoft.cms.mber.vo.MberVO;
-import com.takensoft.cms.mber.vo.RefreshVO;
+import com.takensoft.cms.token.vo.RefreshTknVO;
 import com.takensoft.common.config.AppConfig;
 import com.takensoft.common.config.RedisConfig;
 import com.takensoft.common.exception.FilterExceptionHandler;
@@ -143,7 +143,7 @@
         String refreshToken = jwtUtil.createJwt("refresh", mber.getMbrId(), mber.getLgnId(), mber.getMbrNm(), (List) mber.getAuthorities(), JWT_REFRESHTIME);
 
         // refreshToken이 현재 IP와 계정으로 등록되어 있는지 확인
-        RefreshVO refresh = new RefreshVO();
+        RefreshTknVO refresh = new RefreshTknVO();
         refresh.setMbrId(mber.getMbrId());
 
         // refresh 토큰이 현재 아이피와 아이디로 DB에 등록 되어 있다면
src/main/resources/mybatis/mapper/mber/refresh-SQL.xml
--- src/main/resources/mybatis/mapper/mber/refresh-SQL.xml
+++ src/main/resources/mybatis/mapper/mber/refresh-SQL.xml
@@ -5,14 +5,14 @@
     작성일 : 2024.04.04
     내 용 : 토큰 관련
 -->
-<mapper namespace="com.takensoft.cms.mber.dao.RefreshTokenDAO">
+<mapper namespace="com.takensoft.cms.token.dao.RefreshTokenDAO">
 
     <!--
         작성자 : takensoft
         작성일 : 2024.04.04
         내 용 : refresh token 등록
     -->
-    <insert id="save" parameterType="RefreshVO">
+    <insert id="save" parameterType="RefreshTknVO">
         INSERT INTO mbr_refresh (
             mbr_id
             , token
@@ -31,7 +31,7 @@
         작성일 : 2024.04.04
         내 용 : refresh token 삭제
     -->
-    <delete id="deleteByRefresh" parameterType="RefreshVO">
+    <delete id="deleteByRefresh" parameterType="RefreshTknVO">
         DELETE
           FROM mbr_refresh
          WHERE mbr_id = #{mbrId}
@@ -54,7 +54,7 @@
         작성일 : 2024.04.17
         내 용 : refresh token 유무 확인
     -->
-    <select id="findByCheckRefresh" parameterType="RefreshVO" resultType="boolean">
+    <select id="findByCheckRefresh" parameterType="RefreshTknVO" resultType="boolean">
         SELECT EXISTS (
             SELECT 1
               FROM mbr_refresh
Add a comment
List