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