refactor: Builder 패턴으로 코드 리팩토링
This commit is contained in:
parent
43d5afdc8b
commit
595763deaf
@ -7,6 +7,7 @@ import com.itn.mjonApi.mjon.log.service.mapper.domain.LettnLoginLogVO;
|
||||
import com.itn.mjonApi.cmn.idgen.service.IdgenService;
|
||||
import com.itn.mjonApi.mjon.api.access.service.AccessKeyService;
|
||||
import com.itn.mjonApi.mjon.log.service.LettnLoginLogService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
@ -30,6 +31,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
* 2023-02-15 hylee 최초 생성
|
||||
*/
|
||||
//@Component
|
||||
@Slf4j
|
||||
public class CertifInterceptor implements HandlerInterceptor{
|
||||
|
||||
@Autowired
|
||||
@ -46,6 +48,7 @@ public class CertifInterceptor implements HandlerInterceptor{
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
|
||||
throws Exception {
|
||||
|
||||
|
||||
// URL 접속정보
|
||||
String referer = request.getHeader("Referer");
|
||||
//System.out.println("=====preHandle=5=apikey=refer="+referer);
|
||||
@ -55,42 +58,59 @@ public class CertifInterceptor implements HandlerInterceptor{
|
||||
{
|
||||
try{
|
||||
//step0-1.log 남기기
|
||||
LettnLoginLogVO lettnLoginLogVO = new LettnLoginLogVO();
|
||||
|
||||
//ip
|
||||
HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest();
|
||||
String ip = req.getHeader("X-FORWARDED-FOR");
|
||||
if (ip == null){ ip = req.getRemoteAddr();}
|
||||
|
||||
lettnLoginLogVO.setConectIp(ip);
|
||||
|
||||
|
||||
|
||||
// lettnLoginLogVO.setConectIp(ip);
|
||||
|
||||
//사용자 여부
|
||||
lettnLoginLogVO.setUserAt("U");
|
||||
|
||||
// lettnLoginLogVO.setUserAt("U");
|
||||
|
||||
//사용자 ID
|
||||
lettnLoginLogVO.setConectId(request.getParameter("mberId"));
|
||||
// lettnLoginLogVO.setConectId(request.getParameter("mberId"));
|
||||
|
||||
//device type
|
||||
if(_isMobile(request)){
|
||||
lettnLoginLogVO.setDeviceType("M");
|
||||
}else{
|
||||
lettnLoginLogVO.setDeviceType("P");
|
||||
}
|
||||
// if(_isMobile(request)){
|
||||
// lettnLoginLogVO.setDeviceType("M");
|
||||
// }else{
|
||||
// lettnLoginLogVO.setDeviceType("P");
|
||||
// }
|
||||
|
||||
//program_nm - API 값 고정
|
||||
lettnLoginLogVO.setProgrmFileNm("API");
|
||||
lettnLoginLogVO.setMenuNm("API");
|
||||
lettnLoginLogVO.setMenuNo("100");
|
||||
|
||||
// lettnLoginLogVO.setProgrmFileNm("API");
|
||||
// lettnLoginLogVO.setMenuNm("API");
|
||||
// lettnLoginLogVO.setMenuNo("100");
|
||||
|
||||
//url
|
||||
lettnLoginLogVO.setUrl(request.getRequestURI());
|
||||
// lettnLoginLogVO.setUrl(request.getRequestURI());
|
||||
|
||||
// hylee Builder 패턴으로 변경 => 20230516
|
||||
LettnLoginLogVO lettnLoginLogVO =
|
||||
new LettnLoginLogVO()
|
||||
.builder()
|
||||
.logId(idgenApiLogId.getNextStringId()) // idgen ID
|
||||
.conectId(request.getParameter("mberId")) //사용자 ID
|
||||
.userAt("U") //사용자 여부
|
||||
.conectIp(ip)
|
||||
.deviceType(_isMobile(request) ? "M" : "P") //device type
|
||||
.progrmFileNm("API") //program_nm, menuNm, menuNo - API 값 고정
|
||||
.menuNm("API")
|
||||
.menuNo("100")
|
||||
.url(request.getRequestURI())
|
||||
.build();
|
||||
|
||||
//IP 컬럼 길이를 늘려서 비교 조건 제거함 2023-04-05
|
||||
if (lettnLoginLogVO.getUrl().length()>200){ //길이문제로 오류가 발생하는 경우도 처리하도록 수정
|
||||
lettnLoginLogVO.setUrl(lettnLoginLogVO.getUrl().substring(0,199));
|
||||
}
|
||||
|
||||
// logId :: idgen 사용으로 수정 => 2023-04-25
|
||||
lettnLoginLogVO.setLogId(idgenApiLogId.getNextStringId());
|
||||
// lettnLoginLogVO.setLogId(idgenApiLogId.getNextStringId());
|
||||
lettnLoginLogService.insert(lettnLoginLogVO);
|
||||
|
||||
|
||||
@ -118,19 +138,26 @@ public class CertifInterceptor implements HandlerInterceptor{
|
||||
//step1.키 검증 - accessKey & mberId 는 검증을 위한 필수값
|
||||
{
|
||||
try{
|
||||
AccessKeyVO accessKeyVO = new AccessKeyVO();
|
||||
accessKeyVO.setAccessKey(request.getParameter("accessKey"));
|
||||
accessKeyVO.setMberId(request.getParameter("mberId"));
|
||||
accessKeyVO.setCallInfo(referer);
|
||||
|
||||
accessKeyVO = accessKeyService.selectRKey(accessKeyVO);
|
||||
// AccessKeyVO accessKeyVO = new AccessKeyVO();
|
||||
// accessKeyVO.setAccessKey(request.getParameter("accessKey"));
|
||||
// accessKeyVO.setMberId(request.getParameter("mberId"));
|
||||
// accessKeyVO.setCallInfo(referer);
|
||||
|
||||
// hylee Builder 패턴으로 변경 => 20230516
|
||||
AccessKeyVO accessKeyVO = accessKeyService.selectRKey(
|
||||
new AccessKeyVO().builder()
|
||||
.accessKey(request.getParameter("accessKey"))
|
||||
.mberId(request.getParameter("mberId"))
|
||||
.callInfo(referer)
|
||||
.build()
|
||||
);
|
||||
|
||||
//인증 실패
|
||||
if (accessKeyVO ==null) {
|
||||
|
||||
this._jsonResult(response, HttpStatus.UNAUTHORIZED);
|
||||
return false;
|
||||
}
|
||||
|
||||
this._jsonResult(response, HttpStatus.UNAUTHORIZED);
|
||||
return false;
|
||||
}
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
|
||||
@ -12,6 +12,7 @@ import java.io.Serializable;
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class AccessKeyVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7865729705175845268L;
|
||||
|
||||
@ -12,6 +12,7 @@ import java.io.Serializable;
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class LettnLoginLogVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = -7865729705175845268L;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user