login 수정(1)

This commit is contained in:
김현욱
2025-11-25 15:51:25 +09:00
parent 2903f1c6e6
commit 2a5c9b03c3
11 changed files with 288 additions and 101 deletions

View File

@@ -89,11 +89,38 @@ public class AdminLoginController {
loginRequest.setSopmalCd(RealmContextHolder.getSopmalCdRealm());
//접속이력정보 세팅
String ip = String.valueOf(request.getAttribute("LoggingClientIp"));
loginRequest.setConectIp(ip);
//접속브라우저 정보 저장
String userAgent = request.getHeader("User-Agent");
String browser = "Other";
log.debug("login userAgent :: {}", userAgent);
if(userAgent.contains("Trident")) { // IE
browser = "ie";
} else if(userAgent.contains("Edg")) { // Edge
browser = "edge";
} else if(userAgent.contains("Whale")) { // Naver Whale
browser = "whale";
} else if(userAgent.contains("Opera") || userAgent.contains("OPR")) { // Opera
browser = "opera";
} else if(userAgent.contains("Firefox")) { // Firefox
browser = "firefox";
} else if(userAgent.contains("Safari") && !userAgent.contains("Chrome")) { // Safari
browser = "safari";
} else if(userAgent.contains("Chrome")) { // Chrome
browser = "chrome";
}
loginRequest.setConectBrwsr(browser);
loginUser = service.adminLogin(loginRequest);
loginUser.setSysDvCd("03");
loginUser.setSysDvCd("02");
log.debug("loginUser :: {}", loginUser);
log.debug("admin loginUser :: {}", loginUser);
//토큰 발급
service.createLoginToken(loginUser, request, response);
@@ -144,6 +171,8 @@ public class AdminLoginController {
String refreshToken = CookieUtils.getCookieValue("RFT", request);
log.debug("admin refreshTokenValue :: {}", refreshToken);
//리프레쉬 토큰이 없으면 메인으로 이동 처리
if(!StringUtils.hasText(refreshToken)){
@@ -170,52 +199,52 @@ public class AdminLoginController {
if(request.getCookies() != null){
for(Cookie cookie: request.getCookies()){
if("RFT".equals(cookie.getName())){
refreshToken = cookie.getValue();
}
}
}
//리프레쉬 토큰이 없으면 메인으로 이동 처리
if(!StringUtils.hasText(refreshToken)){
//엑세스토큰 삭제
if(request.getCookies() != null){
for(Cookie cookie: request.getCookies()){
if("ACT".equals(cookie.getName())){
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
response.sendRedirect("/"+realm.toLowerCase());
}
//리프레쉬 토큰 있을 경우(존재한다는 자체가 refresh토큰이 만료된 상태가 아님)
service.createRenewLoginToken( request, response);
//리다이렉트 url 있을 경우 해당 url로 이동
if(StringUtils.hasText(request.getParameter("redirectUrl"))){
response.sendRedirect(request.getParameter("redirectUrl"));
}else{
response.sendRedirect(UrlExtractor.getOriginalHost(request)+realm.toLowerCase());
}
// if(request.getCookies() != null){
//
// for(Cookie cookie: request.getCookies()){
//
// if("RFT".equals(cookie.getName())){
// refreshToken = cookie.getValue();
// }
//
// }
// }
//
//
// //리프레쉬 토큰이 없으면 메인으로 이동 처리
// if(!StringUtils.hasText(refreshToken)){
//
// //엑세스토큰 삭제
// if(request.getCookies() != null){
//
// for(Cookie cookie: request.getCookies()){
//
// if("ACT".equals(cookie.getName())){
// cookie.setMaxAge(0);
// response.addCookie(cookie);
// }
//
// }
//
// }
//
// response.sendRedirect("/"+realm.toLowerCase());
//
//
// }
//
//
// //리프레쉬 토큰 있을 경우(존재한다는 자체가 refresh토큰이 만료된 상태가 아님)
// service.createRenewLoginToken( request, response);
//
// //리다이렉트 url 있을 경우 해당 url로 이동
// if(StringUtils.hasText(request.getParameter("redirectUrl"))){
//
// response.sendRedirect(request.getParameter("redirectUrl"));
//
// }else{
// response.sendRedirect(UrlExtractor.getOriginalHost(request)+realm.toLowerCase());
// }

View File

@@ -26,6 +26,7 @@ import org.springframework.web.util.UriUtils;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
@Controller
@@ -60,8 +61,9 @@ public class MaMainController {
BOMaMainVO boMaMainVO = new BOMaMainVO();
boMaMainVO.setMngrInnb(maMainVO.getMngrInnb());
Map<String, Object> resultMap = new HashMap<>();
//쇼핑몰 조회
Map<String, Object> resultMap = service.selectBOMaMainAccessInqire(boMaMainVO);
resultMap.put("access", service.selectBOMaMainAccessInqire(boMaMainVO));
model.addAttribute("resultMap",resultMap);