login 수정(2)
This commit is contained in:
@@ -9,6 +9,7 @@ import com.wb.domainserver.domain.gcone.login.mapper.LoginMapper;
|
|||||||
import com.wb.domainserver.domain.gcone.login.vo.LoginRequest;
|
import com.wb.domainserver.domain.gcone.login.vo.LoginRequest;
|
||||||
import com.wb.domainserver.domain.gcone.login.vo.LoginUser;
|
import com.wb.domainserver.domain.gcone.login.vo.LoginUser;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mbr.mapper.BOMbrMapper;
|
import com.wb.domainserver.domain.gcone.mbr.mbr.mapper.BOMbrMapper;
|
||||||
|
import com.wb.domainserver.realm.util.UrlExtractor;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
|
import com.wb.domainserver.domain.gcone.mbr.mbr.service.BOMbrService;
|
||||||
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
|
import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
|
||||||
import com.wb.domainserver.exception.WnbtRestException;
|
import com.wb.domainserver.exception.WnbtRestException;
|
||||||
@@ -194,6 +195,8 @@ public class LoginService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public void createRenewLoginToken(HttpServletRequest request, HttpServletResponse response) {
|
public void createRenewLoginToken(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
|
||||||
|
log.debug("rcreateRenewLoginToken stsrt");
|
||||||
|
|
||||||
String realm = RealmContextHolder.getRealm().toLowerCase();
|
String realm = RealmContextHolder.getRealm().toLowerCase();
|
||||||
|
|
||||||
String refreshToken = CookieUtils.getCookieValue("RFT", request);
|
String refreshToken = CookieUtils.getCookieValue("RFT", request);
|
||||||
@@ -219,7 +222,9 @@ public class LoginService {
|
|||||||
//회원정보 조회
|
//회원정보 조회
|
||||||
LoginRequest req = new LoginRequest();
|
LoginRequest req = new LoginRequest();
|
||||||
req.setUserInnb(userInnb);
|
req.setUserInnb(userInnb);
|
||||||
req.setAccessUrl(request.getParameter("accessUrl"));
|
String accessUrl = UrlExtractor.getOriginalHost(request);
|
||||||
|
req.setAccessUrl(accessUrl);
|
||||||
|
log.debug("createRenewLoginToken accessUrl:{}",accessUrl);
|
||||||
req.setSopmalCd(request.getParameter("authSopmalCd"));
|
req.setSopmalCd(request.getParameter("authSopmalCd"));
|
||||||
|
|
||||||
LoginUser loginUser = null;
|
LoginUser loginUser = null;
|
||||||
@@ -234,10 +239,13 @@ public class LoginService {
|
|||||||
|
|
||||||
//토큰 발급 및 토큰 업데이트
|
//토큰 발급 및 토큰 업데이트
|
||||||
loginUser.setRealm(realm);
|
loginUser.setRealm(realm);
|
||||||
|
log.debug("rcreateRenewLoginToken 토큰 업데이트");
|
||||||
TokenInfo updateTokenInfo = tokenService.updateToken(loginUser);
|
TokenInfo updateTokenInfo = tokenService.updateToken(loginUser);
|
||||||
|
|
||||||
//토큰 쿠키 생성
|
//토큰 쿠키 생성
|
||||||
|
log.debug("rcreateRenewLoginToken 쿠키 생성");
|
||||||
createLoginCookie(updateTokenInfo, request, response);
|
createLoginCookie(updateTokenInfo, request, response);
|
||||||
|
log.debug("rcreateRenewLoginToken ENd");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -126,6 +126,8 @@ public class MngrLoginController {
|
|||||||
|
|
||||||
loginRequest.setConectBrwsr(browser);
|
loginRequest.setConectBrwsr(browser);
|
||||||
|
|
||||||
|
log.debug("mngr :: /login/mngr :: loginRequest :: {}", loginRequest);
|
||||||
|
|
||||||
loginUser = service.mngrLogin(loginRequest);
|
loginUser = service.mngrLogin(loginRequest);
|
||||||
|
|
||||||
|
|
||||||
@@ -204,6 +206,7 @@ public class MngrLoginController {
|
|||||||
//리다이렉트 url 있을 경우 해당 url로 이동
|
//리다이렉트 url 있을 경우 해당 url로 이동
|
||||||
if(StringUtils.hasText(request.getParameter("redirect_uri"))){
|
if(StringUtils.hasText(request.getParameter("redirect_uri"))){
|
||||||
redirectUri = request.getParameter("redirect_uri");
|
redirectUri = request.getParameter("redirect_uri");
|
||||||
|
log.debug("리다이렉트 url 있을 경우 redirect_uri :: {}", redirectUri);
|
||||||
|
|
||||||
}
|
}
|
||||||
response.sendRedirect(redirectUri);
|
response.sendRedirect(redirectUri);
|
||||||
@@ -224,23 +227,6 @@ public class MngrLoginController {
|
|||||||
|
|
||||||
String queryString = request.getParameter("authSopmalCd");
|
String queryString = request.getParameter("authSopmalCd");
|
||||||
log.debug("mngr loginCheck getParameter authSopmalCd :: {}", queryString);
|
log.debug("mngr loginCheck getParameter authSopmalCd :: {}", queryString);
|
||||||
// String authSopmalCd = "";
|
|
||||||
// if (!StringUtil.isEmpty(queryString) && sopmalList.contains(queryString)) {
|
|
||||||
// // 로그인 요청 쇼핑몰 param 저장
|
|
||||||
// authSopmalCd = queryString;
|
|
||||||
//
|
|
||||||
// } else {
|
|
||||||
// if("".equals(authVO.getSopmalCd()) || authVO.getSopmalCd() == null){
|
|
||||||
// //쿠키에 권한 리스트중 첫번째 쇼핑몰 param 저장
|
|
||||||
// if (!sopmalList.isEmpty()) {
|
|
||||||
// authSopmalCd = sopmalList.get(0);
|
|
||||||
// } else {
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// authSopmalCd = authVO.getSopmalCd();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
BOJobUserVO vo = new BOJobUserVO();
|
BOJobUserVO vo = new BOJobUserVO();
|
||||||
vo.setMngrId(loginRequest.getUsername());
|
vo.setMngrId(loginRequest.getUsername());
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.wb.domainserver.domain.gcone.mbr.mbr.vo.BOMbrVO;
|
|||||||
import com.wb.domainserver.realm.RealmContextHolder;
|
import com.wb.domainserver.realm.RealmContextHolder;
|
||||||
import com.wb.domainserver.security.authentication.AnonymousUser;
|
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||||
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||||
|
import com.wb.domainserver.util.CookieUtils;
|
||||||
import com.wb.domainserver.util.string.StringUtil;
|
import com.wb.domainserver.util.string.StringUtil;
|
||||||
import jakarta.servlet.http.Cookie;
|
import jakarta.servlet.http.Cookie;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
@@ -135,6 +136,7 @@ public class MngrMenuInterceptor implements HandlerInterceptor {
|
|||||||
//관리자 메인 진입시 쇼핑몰 선택했을 경우(로그인시)
|
//관리자 메인 진입시 쇼핑몰 선택했을 경우(로그인시)
|
||||||
if( "/mngr/main".equals(request.getRequestURI()) && !StringUtil.isEmpty(request.getParameter("authSopmalCd"))){
|
if( "/mngr/main".equals(request.getRequestURI()) && !StringUtil.isEmpty(request.getParameter("authSopmalCd"))){
|
||||||
cookieAuthSopmalCd = request.getParameter("authSopmalCd");
|
cookieAuthSopmalCd = request.getParameter("authSopmalCd");
|
||||||
|
CookieUtils.createCookie("authSopmalCd",cookieAuthSopmalCd, "/", true, request, response);
|
||||||
logger.debug("cookieAuthSopmalCd param3 :: {}", cookieAuthSopmalCd);
|
logger.debug("cookieAuthSopmalCd param3 :: {}", cookieAuthSopmalCd);
|
||||||
} else {
|
} else {
|
||||||
if (request.getCookies() != null) {
|
if (request.getCookies() != null) {
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ public class RealmFilter implements Filter {
|
|||||||
|
|
||||||
//root context 접근 할 경우 처리
|
//root context 접근 할 경우 처리
|
||||||
String reqUri = request.getRequestURI();
|
String reqUri = request.getRequestURI();
|
||||||
|
logger.debug("RealmFilter reqUri: {}", reqUri);
|
||||||
if(reqUri == null || "/".equals(reqUri) || "/sopmal".equals(reqUri)){
|
if(reqUri == null || "/".equals(reqUri) || "/sopmal".equals(reqUri)){
|
||||||
|
|
||||||
//사용자 일 경우
|
//사용자 일 경우
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ public class JwtHelper {
|
|||||||
|
|
||||||
|
|
||||||
public String createToken(LoginUser claims) {
|
public String createToken(LoginUser claims) {
|
||||||
|
log.debug("JwtHelper.createToken start");
|
||||||
Map<String, Object> claimsMap = new HashMap<>();
|
Map<String, Object> claimsMap = new HashMap<>();
|
||||||
claimsMap.put("mbrId", claims.getUserId());
|
claimsMap.put("mbrId", claims.getUserId());
|
||||||
claimsMap.put("sopmalCd", claims.getSopmalCd());
|
claimsMap.put("sopmalCd", claims.getSopmalCd());
|
||||||
@@ -42,7 +43,7 @@ public class JwtHelper {
|
|||||||
claimsMap.put("mngrDv", claims.getMngrDv());
|
claimsMap.put("mngrDv", claims.getMngrDv());
|
||||||
claimsMap.put("teamInnb", claims.getTeamInnb());
|
claimsMap.put("teamInnb", claims.getTeamInnb());
|
||||||
claimsMap.put("teamMngrAt", claims.getTeamMngrAt());
|
claimsMap.put("teamMngrAt", claims.getTeamMngrAt());
|
||||||
|
log.debug("JwtHelper.createToken 1:{}",claims.getSysDvCd());
|
||||||
List<String> roleTypes = new ArrayList<>();
|
List<String> roleTypes = new ArrayList<>();
|
||||||
String roleType = switch (claims.getSysDvCd()){
|
String roleType = switch (claims.getSysDvCd()){
|
||||||
case "02" -> "ROLE_ADMIN";
|
case "02" -> "ROLE_ADMIN";
|
||||||
@@ -50,9 +51,11 @@ public class JwtHelper {
|
|||||||
default -> "ROLE_USER";
|
default -> "ROLE_USER";
|
||||||
|
|
||||||
};
|
};
|
||||||
|
log.debug("JwtHelper.createToken 2");
|
||||||
roleTypes.add(roleType);
|
roleTypes.add(roleType);
|
||||||
claimsMap.put("roleType", roleTypes);
|
claimsMap.put("roleType", roleTypes);
|
||||||
|
|
||||||
|
log.debug("JwtHelper.createToken end");
|
||||||
return jwtHandler.createToken(claimsMap, maxAgeSeconds, secretKey);
|
return jwtHandler.createToken(claimsMap, maxAgeSeconds, secretKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,19 +26,26 @@ public class TokenService {
|
|||||||
*
|
*
|
||||||
* */
|
* */
|
||||||
public TokenInfo createToken(LoginUser loginUser){
|
public TokenInfo createToken(LoginUser loginUser){
|
||||||
|
log.debug("createToken start:{}", loginUser);
|
||||||
|
|
||||||
String accessToken = accessTokenHelper.createToken(loginUser);
|
String accessToken = accessTokenHelper.createToken(loginUser);
|
||||||
|
log.debug("createToken 1");
|
||||||
Claims accessTokenClaims = accessTokenHelper.getClaims(accessToken);
|
Claims accessTokenClaims = accessTokenHelper.getClaims(accessToken);
|
||||||
|
log.debug("createToken 2");
|
||||||
//리프레쉬 토큰은 회원고유번호와 회원구분코드만 저장
|
//리프레쉬 토큰은 회원고유번호와 회원구분코드만 저장
|
||||||
LoginUser refreshUser = new LoginUser();
|
LoginUser refreshUser = new LoginUser();
|
||||||
|
log.debug("createToken 3");
|
||||||
refreshUser.setUserInnb(loginUser.getUserInnb());
|
refreshUser.setUserInnb(loginUser.getUserInnb());
|
||||||
|
log.debug("createToken 4");
|
||||||
refreshUser.setMbrDvCd(loginUser.getMbrDvCd());
|
refreshUser.setMbrDvCd(loginUser.getMbrDvCd());
|
||||||
|
log.debug("createToken 5");
|
||||||
refreshUser.setSysDvCd(loginUser.getSysDvCd());
|
refreshUser.setSysDvCd(loginUser.getSysDvCd());
|
||||||
|
log.debug("createToken 6");
|
||||||
String refreshToken = refreshTokenHelper.createToken(refreshUser);
|
String refreshToken = refreshTokenHelper.createToken(refreshUser);
|
||||||
|
log.debug("createToken 7");
|
||||||
Claims refreshTokenClaims = refreshTokenHelper.getClaims(refreshToken);
|
Claims refreshTokenClaims = refreshTokenHelper.getClaims(refreshToken);
|
||||||
|
|
||||||
|
log.debug("createToken end");
|
||||||
return TokenInfo.of(accessToken, accessTokenClaims, refreshToken, refreshTokenClaims);
|
return TokenInfo.of(accessToken, accessTokenClaims, refreshToken, refreshTokenClaims);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -103,12 +110,20 @@ public class TokenService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public TokenInfo updateToken(LoginUser loginUser){
|
public TokenInfo updateToken(LoginUser loginUser){
|
||||||
|
|
||||||
|
log.debug("updateToken start");
|
||||||
TokenInfo token = createToken(loginUser);
|
TokenInfo token = createToken(loginUser);
|
||||||
|
log.debug("updateToken 1!");
|
||||||
token.setRealm(loginUser.getRealm());
|
token.setRealm(loginUser.getRealm());
|
||||||
|
log.debug("updateToken 2!");
|
||||||
token.setUserInnb(Long.parseLong(loginUser.getUserInnb()));
|
token.setUserInnb(Long.parseLong(loginUser.getUserInnb()));
|
||||||
|
log.debug("updateToken 3!");
|
||||||
|
|
||||||
|
log.debug("updateToken tokenMapper.updateToken start");
|
||||||
tokenMapper.updateToken(token);
|
tokenMapper.updateToken(token);
|
||||||
|
log.debug("updateToken tokenMapper.updateToken end");
|
||||||
|
|
||||||
|
|
||||||
|
log.debug("updateToken end :: token : {}", token);
|
||||||
return token;
|
return token;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user