mirror of
http://git.mhez-qa.uplus.co.kr/hubez/hubez-admin.git
synced 2025-12-06 18:13:18 +09:00
수정건 수정
This commit is contained in:
@@ -114,11 +114,11 @@ body{
|
||||
/*======================
|
||||
.popup
|
||||
======================*/
|
||||
.dimmed {width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; background: rgba(0,0,0,0.4); display: none;}
|
||||
.dimmed {width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; background: rgba(0,0,0,0.2); display: none;}
|
||||
.dimmed.open {display: block !important;}
|
||||
.popup-wrap {display: none;}
|
||||
.popup-wrap.open {display: block !important;}
|
||||
.popup {width: 390px; border-radius: 12px; background: #fff; padding: 0 30px; box-sizing: border-box; border: 1px solid rgba(197,197,197,0.36); box-shadow: 2px 2px 8px rgba(171,171,171,0.30); position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); display: none;
|
||||
.popup {width: 390px; z-index: 998; border-radius: 12px; background: #fff; padding: 0 30px; box-sizing: border-box; border: 1px solid rgba(197,197,197,0.36); box-shadow: 2px 2px 8px rgba(171,171,171,0.30); position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); display: none;
|
||||
max-height: 90vh; overflow: auto;}/*스크린 height 100%를 벗어나는 긴 팝업의 경우 추가 class*/
|
||||
|
||||
.popup.open {display: block !important;}
|
||||
|
||||
@@ -49,4 +49,4 @@ function userInfoToggle(){
|
||||
else{
|
||||
userBtn.classList.add(click);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
import axios from 'axios';
|
||||
import { testProp } from './config';
|
||||
import tokenSvc from '@/common/token-service';
|
||||
import { consts } from './config';
|
||||
|
||||
const config = {
|
||||
//baseURL: 'http://localhost:7070',
|
||||
@@ -29,19 +26,12 @@ const authInterceptor = config => {
|
||||
};
|
||||
|
||||
const tokenInterceptor = config => {
|
||||
// var authToken = tokenSvc.getAuthToken();
|
||||
// console.log(this.$store);
|
||||
// alert('tokenInterceptor'+authToken);
|
||||
|
||||
// if(tokenSvc.getAuthorization(consts.tokenPart1) != null){
|
||||
// //config.headers.Authorization = tokenSvc.getAuthorization(consts.tokenPart1);
|
||||
// //console.log("getToken : "+config.headers.Authorization);
|
||||
// //config.headers.Authorization = tokenSvc.getToken();
|
||||
// }
|
||||
|
||||
|
||||
// console.log('http : ',sessionStorage.authToken);
|
||||
if(sessionStorage.authToken != null) {
|
||||
config.headers.Authorization = 'Bearer '+ sessionStorage.authToken;
|
||||
}else if(sessionStorage.authToken == null && sessionStorage.refreshToken != null){
|
||||
config.headers.Authorization = 'Bearer '+ sessionStorage.refreshToken;
|
||||
}
|
||||
|
||||
return config;
|
||||
@@ -59,22 +49,6 @@ const loadingLayer = (type, config) => {
|
||||
get: httpClient.get(url, { params: { ... }, headers: {"show-layer": "Yes"} }) // in 2nd property
|
||||
post: httpClient.post(url, params, { headers: {"show-layer": "Yes"} }) // 3rd property
|
||||
*/
|
||||
|
||||
// if (config.headers['Show-Layer'] == 'Yes') {
|
||||
// if (type) {
|
||||
// loadOverlap.push('add');
|
||||
// } else {
|
||||
// loadOverlap.pop();
|
||||
// }
|
||||
|
||||
// if (loadOverlap.length > 0) {
|
||||
// document.querySelector('html > body').style.overflow = 'hidden'; // 스크롤 block
|
||||
// document.getElementsByClassName('loading_layer')[0].style.display = 'block';
|
||||
// } else {
|
||||
// document.querySelector('html > body').style.removeProperty('overflow'); // 스크롤 allow
|
||||
// document.getElementsByClassName('loading_layer')[0].style.display = 'none';
|
||||
// }
|
||||
// }
|
||||
if(type){
|
||||
document.querySelector('html > body').style.overflow = 'hidden'; // 스크롤 block
|
||||
document.getElementsByClassName('loadingDimmed')[0].style.display = 'block';
|
||||
@@ -107,17 +81,27 @@ httpClient.interceptors.request.use(loadingLayerInterceptor);
|
||||
/** Adding the response interceptors */
|
||||
httpClient.interceptors.response.use(
|
||||
response => {
|
||||
loadingLayer(false, response.config);
|
||||
loadingLayer(false, response.config);
|
||||
console.log('response status:', response.status, 'data:', response.data);
|
||||
console.log('response config url :',response.config.url);
|
||||
if(response.config.url == '/api/v1/bo/comm/refreshToken'){
|
||||
if(response.data.data != null && typeof response.data.data != undefined){
|
||||
sessionStorage.setItem('authToken', response.data.data);
|
||||
window.location.reload();
|
||||
}else{
|
||||
delete sessionStorage.authToken;
|
||||
window.top.location.href = '/login';
|
||||
}
|
||||
}
|
||||
return response;
|
||||
},
|
||||
error => {
|
||||
console.log(error);
|
||||
//alert(error);
|
||||
delete sessionStorage.authToken;
|
||||
|
||||
if(error.message === 'Network Error'){
|
||||
alert('네트워크 오류가 발생했습니다. 잠시 후 다시 시도해주세요.');
|
||||
// tokenSvc.removeToken();
|
||||
alert('네트워크 오류가 발생했습니다. 잠시 후 다시 시도해주세요.');
|
||||
delete sessionStorage.authToken;
|
||||
window.top.location.href = '/login';
|
||||
}
|
||||
if (error.response != undefined && error.response != null) loadingLayer(false, error.response.config);
|
||||
@@ -126,33 +110,31 @@ httpClient.interceptors.response.use(
|
||||
if (error.code === 'ECONNABORTED') {
|
||||
alert('서비스가 지연되고 있습니다. 잠시 후 확인하시고 다시 시도해주세요.');
|
||||
return Promise.reject(error);
|
||||
}else if(error.response.status == 401){
|
||||
alert('세션이 만료되었습니다.');
|
||||
// tokenSvc.removeToken();
|
||||
}else if(error.response.status == 401){
|
||||
alert('세션이 만료되었습니다.');
|
||||
delete sessionStorage.authToken;
|
||||
window.top.location.href = '/login';
|
||||
} else if (error.response.status == 418) {
|
||||
// tokenSvc.removeToken();
|
||||
alert('세션이 만료되었습니다.');
|
||||
window.top.location.href = '/login';
|
||||
}else if (error.response.status == 500) {
|
||||
if (error.response.data != null && error.response.data.message == '511 NETWORK_AUTHENTICATION_REQUIRED') {
|
||||
alert('웹템플릿 IP가 브랜드포털에 등록이 필요합니다. 기술지원에 문의해주세요.');
|
||||
return Promise.reject(error);
|
||||
} else {
|
||||
// tokenSvc.removeToken();
|
||||
window.top.location.href = '/login';
|
||||
} else if (error.response.status == 418) {
|
||||
delete sessionStorage.authToken;
|
||||
if(error.config.url == '/api/v1/bo/comm/refreshToken'){
|
||||
alert('세션이 만료되었습니다.');
|
||||
delete sessionStorage.authToken;
|
||||
delete sessionStorage.refreshToken;
|
||||
return window.top.location.href = '/login';
|
||||
//return Promise.reject(error);
|
||||
}
|
||||
} else if (error.response.status == 511) {
|
||||
alert('웹템플릿 IP가 브랜드포털에 등록이 필요합니다. 기술지원에 문의해주세요.');
|
||||
return Promise.reject(error);
|
||||
}
|
||||
var params = {};
|
||||
httpClient.post('/api/v1/bo/comm/refreshToken',params);
|
||||
}else if (error.response.status == 500) {
|
||||
window.top.location.href = '/view/error/500';
|
||||
}
|
||||
// else if (error.message == 'Network Error') {
|
||||
// alert('네트워크 오류가 발생했습니다. 잠시 후 다시 시도해주세요.');
|
||||
// return Promise.reject(error);
|
||||
// }
|
||||
else {
|
||||
// alert("else");
|
||||
console.log('response error:', error);
|
||||
else {
|
||||
delete sessionStorage.authToken;
|
||||
console.log('response error:', error);
|
||||
return Promise.reject(error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,11 +179,16 @@ export default {
|
||||
this.$refs.madangId.focus();
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
async setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
try {
|
||||
const response = await api.commAuth();
|
||||
if(response.data.retCode == '0000'){
|
||||
this.authType = response.data.data.list;
|
||||
}
|
||||
}catch(err){
|
||||
|
||||
}
|
||||
},
|
||||
formReset(){
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
|
||||
@@ -158,11 +158,19 @@ export default {
|
||||
this.memberInsertModalClose();
|
||||
this.$parent.memberDetail(this.adminId);
|
||||
},
|
||||
setAuthData() {
|
||||
async setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
// api.commAuth().then(response => {
|
||||
// this.authType = response.data.data.list;
|
||||
// });
|
||||
try {
|
||||
const response = await api.commAuth();
|
||||
if(response.data.retCode == '0000'){
|
||||
this.authType = response.data.data.list;
|
||||
}
|
||||
}catch(err){
|
||||
|
||||
}
|
||||
},
|
||||
formReset() {
|
||||
var targetAdminId = this.adminId;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</div>
|
||||
|
||||
<div class="table table_form">
|
||||
<form action="" target="_blank" method="post" ref="form">
|
||||
<form action="" target="_blank" method="post" ref="form" onSubmit="return false;">
|
||||
<input type="hidden" name="svcUserId" id="svcUserId" v-model="svcUserId" />
|
||||
<input type="hidden" name="ezSvcUserAuthKey" id="ezSvcUserAuthKey" v-model="ezSvcUserAuthKey" />
|
||||
</form>
|
||||
@@ -236,6 +236,7 @@ export default {
|
||||
homePageUrl: '',
|
||||
isActive: true,
|
||||
//applyTbStyle: 'cursor: default;',
|
||||
oldMemo: '',
|
||||
};
|
||||
},
|
||||
props: {
|
||||
@@ -322,6 +323,7 @@ export default {
|
||||
}
|
||||
this.lastLoginDt = result.data.lastLoginDt;
|
||||
this.memo = result.data.memo;
|
||||
this.oldMemo = result.data.memo;
|
||||
this.mdn = result.data.mdn;
|
||||
this.email = result.data.email;
|
||||
this.list = result.data.list;
|
||||
@@ -336,14 +338,18 @@ export default {
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
},
|
||||
/** 저장 */
|
||||
async updateAdminInfoTotal() {
|
||||
this.row = {};
|
||||
this.row.userId = this.adminId;
|
||||
this.row.sendingLimit = this.sendingLimit;
|
||||
this.row.lineType = this.lineType;
|
||||
this.row.userStat = this.userStat;
|
||||
this.row.memo = this.memo;
|
||||
|
||||
if(this.memo != this.oldMemo){
|
||||
this.row.memo = this.memo;
|
||||
} else {
|
||||
this.row.memo = '';
|
||||
}
|
||||
try {
|
||||
const response = await custMgtApi.updateAdminInfoTotal(this.row);
|
||||
const result = response.data;
|
||||
@@ -371,6 +377,7 @@ export default {
|
||||
toComplete() {
|
||||
this.$router.push({ name: 'memberList', params: this.row });
|
||||
},
|
||||
|
||||
excelPopOpen() {
|
||||
if (this.userTotalCnt >= 100) {
|
||||
// 사용자등록제한_최대100개까지
|
||||
@@ -431,11 +438,19 @@ export default {
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
async setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then((response) => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
// api.commAuth().then((response) => {
|
||||
// this.authType = response.data.data.list;
|
||||
// });
|
||||
try {
|
||||
const response = await api.commAuth();
|
||||
if(response.data.retCode == '0000'){
|
||||
this.authType = response.data.data.list;
|
||||
}
|
||||
}catch(err){
|
||||
|
||||
}
|
||||
},
|
||||
formReset() {
|
||||
Object.assign(this.$data, this.$options.data());
|
||||
|
||||
@@ -270,7 +270,8 @@ export default {
|
||||
},
|
||||
async subsDetail(serviceId) {
|
||||
this.row.serviceId = serviceId;
|
||||
try {
|
||||
|
||||
try {
|
||||
const response = await custMgtApi.subsDetail(this.row);
|
||||
const result = response.data;
|
||||
if (result != null && result.retCode == "0000") {
|
||||
|
||||
@@ -327,6 +327,7 @@ export default {
|
||||
vm.$store.commit("login/saveAuthToken", rsp.data.authToken);
|
||||
//localStorage.authToken = rsp.data.authToken;
|
||||
sessionStorage.setItem('authToken', rsp.data.authToken);
|
||||
sessionStorage.setItem('refreshToken', rsp.data.refreshToken);
|
||||
//api.setToken(rsp.data.authToken);
|
||||
vm.$router.push({ path: rootUrl});
|
||||
}else if (rsp.retCode == '4008'){
|
||||
|
||||
@@ -257,11 +257,19 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
async setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
// api.commAuth().then(response => {
|
||||
// this.authType = response.data.data.list;
|
||||
// });
|
||||
try {
|
||||
const response = await api.commAuth();
|
||||
if(response.data.retCode == '0000'){
|
||||
this.authType = response.data.data.list;
|
||||
}
|
||||
}catch(err){
|
||||
|
||||
}
|
||||
},
|
||||
formReset() {
|
||||
var type = this.insertType;
|
||||
|
||||
@@ -365,11 +365,19 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
setAuthData() {
|
||||
async setAuthData() {
|
||||
// 권한 옵션.
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
});
|
||||
// api.commAuth().then(response => {
|
||||
// this.authType = response.data.data.list;
|
||||
// });
|
||||
try {
|
||||
const response = await api.commAuth();
|
||||
if(response.data.retCode == '0000'){
|
||||
this.authType = response.data.data.list;
|
||||
}
|
||||
}catch(err){
|
||||
|
||||
}
|
||||
},
|
||||
formReset() {
|
||||
var type = this.insertType;
|
||||
|
||||
@@ -223,15 +223,23 @@ export default {
|
||||
|
||||
const getCondition = this.$store.getters['searchcondition/getSearchCondition'];
|
||||
},
|
||||
setCodeData() {
|
||||
async setCodeData() {
|
||||
|
||||
// 상태 옵션 셋팅.
|
||||
api.commCode({'grpCd': 'ADM_STTUS_CD'}).then(response => {
|
||||
this.statType = response.data.data.list;
|
||||
});
|
||||
api.commAuth().then(response => {
|
||||
this.authType = response.data.data.list;
|
||||
this.statType = response.data.dat.a.list;
|
||||
});
|
||||
// api.commAuth().then(response => {
|
||||
// this.authType = response.data.data.list;
|
||||
// });
|
||||
try {
|
||||
const response = await api.commAuth();
|
||||
if(response.data.retCode == '0000'){
|
||||
this.authType = response.data.datalist;
|
||||
}
|
||||
}catch(err){
|
||||
|
||||
}
|
||||
},
|
||||
rowDelete() {
|
||||
if (this.doValidate()) {
|
||||
|
||||
@@ -92,9 +92,9 @@ export default {
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
} catch (err) {
|
||||
this.row.title = '권한 관리';
|
||||
this.row.msg1 = '실패 하였습니다.'
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
// this.row.title = '권한 관리';
|
||||
// this.row.msg1 = '실패 하였습니다.'
|
||||
// this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
},
|
||||
insertAuth() {
|
||||
@@ -128,10 +128,10 @@ export default {
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
} catch (err) {
|
||||
this.row = {}
|
||||
this.row.title = '권한 관리';
|
||||
this.row.msg1 = '실패 하였습니다.';
|
||||
this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
// this.row = {}
|
||||
// this.row.title = '권한 관리';
|
||||
// this.row.msg1 = '실패 하였습니다.';
|
||||
// this.$refs.commmonModal.alertModalOpen(this.row);
|
||||
}
|
||||
},
|
||||
confirmCalbackFnc(props) {
|
||||
|
||||
@@ -67,7 +67,7 @@ const router = new Router({
|
||||
router.beforeEach((to, from, next) => {
|
||||
const isPublic = to.matched.some(record => record.meta.public);
|
||||
const loggedIn = !!tokenSvc.getToken();
|
||||
if (!isPublic && !loggedIn) {
|
||||
if (!isPublic && !loggedIn) {
|
||||
return next('/login');
|
||||
}else{
|
||||
var nextUrl = to.fullPath;
|
||||
|
||||
@@ -10,6 +10,8 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import kr.co.uplus.ez.api.comm.dto.Auth;
|
||||
@@ -24,6 +26,7 @@ import kr.co.uplus.ez.api.comm.dto.MenuResDto;
|
||||
import kr.co.uplus.ez.api.comm.dto.RefreshTokenReqDto;
|
||||
import kr.co.uplus.ez.api.comm.dto.RefreshTokenResDto;
|
||||
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||
import kr.co.uplus.ez.common.jwt.JwtService;
|
||||
import kr.co.uplus.ez.common.utils.SpringUtils;
|
||||
|
||||
@Service
|
||||
@@ -39,6 +42,9 @@ public class CommService {
|
||||
@Qualifier("sqlSessionTemplateDb2")
|
||||
private SqlSessionTemplate sqlSessionSlave;
|
||||
|
||||
@Autowired
|
||||
private JwtService jwtSvc;
|
||||
|
||||
/**
|
||||
* date : 2022. 4. 26.
|
||||
* auth : ckr
|
||||
@@ -106,16 +112,15 @@ public class CommService {
|
||||
* @return RefreshTokenResDto
|
||||
*/
|
||||
public RefreshTokenResDto refreshToken(RefreshTokenReqDto refreshTokenReqDto) {
|
||||
|
||||
// 1. 리프레시 토큰 조회.
|
||||
|
||||
// 2. AuthToken 생성.
|
||||
|
||||
// 3. 응답.
|
||||
|
||||
|
||||
|
||||
RefreshTokenResDto result = new RefreshTokenResDto(ApiResponseCode.SUCCESS);
|
||||
// 1. AuthToken 생성.
|
||||
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
||||
if(auth != null) {
|
||||
String authToken = jwtSvc.generatePrivateToken(auth);
|
||||
// 2. 응답.
|
||||
return new RefreshTokenResDto(ApiResponseCode.SUCCESS, authToken);
|
||||
}
|
||||
// 2. 응답.
|
||||
RefreshTokenResDto result = new RefreshTokenResDto(ApiResponseCode.SUCCESS, null);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import lombok.Data;
|
||||
public class RefreshTokenResDto extends ResponseMessage implements Serializable{
|
||||
|
||||
@ApiModelProperty(example = "데이터")
|
||||
private RefreshToken data;
|
||||
private String data;
|
||||
|
||||
public RefreshTokenResDto() {
|
||||
this.retCode = ApiResponseCode.SUCCESS.getResultCode();
|
||||
@@ -24,7 +24,7 @@ public class RefreshTokenResDto extends ResponseMessage implements Serializable{
|
||||
this.retMsg = returnStr.getResultMsg();
|
||||
}
|
||||
|
||||
public RefreshTokenResDto(ApiResponseCode returnStr, RefreshToken data) {
|
||||
public RefreshTokenResDto(ApiResponseCode returnStr, String data) {
|
||||
this.retCode = returnStr.getResultCode();
|
||||
this.retMsg = returnStr.getResultMsg();
|
||||
this.data = data;
|
||||
|
||||
@@ -921,7 +921,9 @@ public class CustMgtService {
|
||||
custMgtMapper.updateAdminInfoTotal(updateAdminInfoTotalReqDto);
|
||||
|
||||
// 2. 메모정보 insert
|
||||
custMgtMapper.insertMemo(updateAdminInfoTotalReqDto);
|
||||
if(StringUtils.isNotEmpty(updateAdminInfoTotalReqDto.getMemo())) {
|
||||
custMgtMapper.insertMemo(updateAdminInfoTotalReqDto);
|
||||
}
|
||||
|
||||
// 3. 발송 한도 update
|
||||
if (updateAdminInfoTotalReqDto.getSendingLimit() != null) {
|
||||
|
||||
@@ -144,8 +144,9 @@ public class LoginController {
|
||||
loginSuccessHandler.process(request, response, authentication);
|
||||
|
||||
// Auth 토큰 생성
|
||||
String authToken = jwtSvc.generatePrivateToken(response, authentication);
|
||||
// jwtSvc.generatePrivateToken(response, authentication);
|
||||
String authToken = jwtSvc.generatePrivateToken(authentication);
|
||||
// Create RefreshToken
|
||||
String refreshToken = jwtSvc.refreshToken(authentication);
|
||||
|
||||
String nextUrl = getReturnUrl(request, response);
|
||||
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
|
||||
@@ -169,8 +170,6 @@ public class LoginController {
|
||||
menuUrls.add(menuUrl);
|
||||
}
|
||||
}
|
||||
//String menuUrl = rootMenu.getChildren().get(j).getMenuUrl();
|
||||
// menuUrls.add(menuUrl);
|
||||
}
|
||||
|
||||
LoginRes loginRes = new LoginRes(rootUrl);
|
||||
@@ -178,6 +177,7 @@ public class LoginController {
|
||||
loginRes.setUserNm(authUser.getOprtrNm());
|
||||
loginRes.setMenuUrls(menuUrls);
|
||||
loginRes.setAuthToken(authToken);
|
||||
loginRes.setRefreshToken(refreshToken);
|
||||
|
||||
ChkAuthNumResDto result = new ChkAuthNumResDto(ApiResponseCode.SUCCESS, loginRes);
|
||||
return result;
|
||||
@@ -192,8 +192,9 @@ public class LoginController {
|
||||
rCode = loginSuccessHandler.process(request, response, authentication);
|
||||
|
||||
// loginToken
|
||||
String authToken = jwtSvc.generatePrivateToken(response, authentication);
|
||||
// jwtSvc.generatePrivateToken(response, authentication);
|
||||
String authToken = jwtSvc.generatePrivateToken(authentication);
|
||||
// Create RefreshToken
|
||||
String refreshToken = jwtSvc.refreshToken(authentication);
|
||||
|
||||
String nextUrl = getReturnUrl(request, response);
|
||||
logger.debug("login SUCCESS - nextUrl = [{}]", nextUrl);
|
||||
@@ -224,6 +225,8 @@ public class LoginController {
|
||||
loginRes.setUserId(authUser.getOprtrId());
|
||||
loginRes.setUserNm(authUser.getOprtrNm());
|
||||
loginRes.setAuthToken(authToken);
|
||||
loginRes.setRefreshToken(refreshToken);
|
||||
|
||||
loginRes.setMenuUrls(menuUrls);
|
||||
|
||||
ChkAuthNumResDto result = new ChkAuthNumResDto(rCode, loginRes);
|
||||
|
||||
@@ -20,9 +20,15 @@ public class LoginRes implements Serializable {
|
||||
private String userNm;
|
||||
|
||||
/** 접근 토큰*/
|
||||
@ApiModelProperty(hidden = true)
|
||||
private String accessToken;
|
||||
/** 권한 토큰*/
|
||||
private String authToken;
|
||||
@ApiModelProperty(hidden = true)
|
||||
private String authToken;
|
||||
/** 리프레쉬 토큰*/
|
||||
@ApiModelProperty(hidden = true)
|
||||
private String refreshToken;
|
||||
|
||||
/** 메뉴 url*/
|
||||
private ArrayList<String> menuUrls;
|
||||
|
||||
|
||||
@@ -11,6 +11,9 @@ import io.swagger.annotations.ApiResponses;
|
||||
import kr.co.uplus.ez.api.sysMgt.dto.*;
|
||||
import kr.co.uplus.ez.common.components.ValidComponents;
|
||||
import kr.co.uplus.ez.common.data.ApiResponseCode;
|
||||
|
||||
import org.apache.http.HttpStatus;
|
||||
import org.apache.http.protocol.HTTP;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -51,12 +54,12 @@ public class SysMgtController {
|
||||
@ApiResponses({ @ApiResponse(code = HttpServletResponse.SC_OK, message = "SUCESS") })
|
||||
@RequestMapping(value = "adminList", method = { RequestMethod.POST })
|
||||
@ResponseBody
|
||||
public AdminListResDto adminList(@RequestBody @Valid AdminListReqDto adminListReqDto, BindingResult bindingResult) {
|
||||
public AdminListResDto adminList(@RequestBody @Valid AdminListReqDto adminListReqDto, BindingResult bindingResult, HttpServletResponse response) {
|
||||
|
||||
if (validComponents.validParameter(bindingResult)) {
|
||||
return new AdminListResDto(ApiResponseCode.CM_PARAMETER_ERROR);
|
||||
}
|
||||
|
||||
|
||||
return sysService.adminList(adminListReqDto);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ public class JwtService {
|
||||
@Qualifier("sqlSessionTemplateDb2")
|
||||
private SqlSessionTemplate sqlSessionSlave;
|
||||
|
||||
public String generatePrivateToken(HttpServletResponse response, Authentication auth) {
|
||||
public String generatePrivateToken(Authentication auth) {
|
||||
Claims claims = coreClaims(auth, jwtProps.getPrivateTokenExpiration());
|
||||
|
||||
// 필요하면 다른 정보 추가
|
||||
@@ -179,7 +179,7 @@ public class JwtService {
|
||||
return generateToken(claims);
|
||||
}
|
||||
|
||||
private String refreshToken(Authentication auth) {
|
||||
public String refreshToken(Authentication auth) {
|
||||
Claims claims = coreClaims(auth, jwtProps.getRefreshTokenExpiration());
|
||||
return generateToken(claims);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
"/v3/api-docs",
|
||||
"/v3/api-docs/**",
|
||||
"/",
|
||||
"/socket/**"
|
||||
"/socket/**",
|
||||
"/api/v1/bo/sendNumMgt/filedownload"
|
||||
};
|
||||
|
||||
private static final String[] AUTH_URL_ARRAY = {
|
||||
|
||||
@@ -23,8 +23,8 @@ app.props:
|
||||
private-token-expiration: 1800
|
||||
part1: JwtPart1
|
||||
part2: JwtPart2
|
||||
access-token-expiration: 180
|
||||
refresh-token-expiration: 1800
|
||||
access-token-expiration: 600
|
||||
refresh-token-expiration: 5400
|
||||
header: Authorization
|
||||
prefix: "Bearer "
|
||||
|
||||
|
||||
@@ -28,10 +28,10 @@ See here for more details: http://gordondickens.com/wordpress/2013/03/27/sawing-
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<logger name="org.springframework" level="info"/>
|
||||
<logger name="org.springframework.security" level="info"/>
|
||||
<logger name="org.springframework.boot" level="info"/>
|
||||
<logger name="com.zaxxer.hikari.HikariConfig" level="info"/>
|
||||
<logger name="org.springframework" level="off"/>
|
||||
<logger name="org.springframework.security" level="off"/>
|
||||
<logger name="org.springframework.boot" level="off"/>
|
||||
<logger name="com.zaxxer.hikari.HikariConfig" level="off"/>
|
||||
<logger name="reactor.netty" level="info" />
|
||||
<logger name="io.lettuce.core" level="info" />
|
||||
<logger name="org.thymeleaf" level="info"/>
|
||||
@@ -51,7 +51,6 @@ See here for more details: http://gordondickens.com/wordpress/2013/03/27/sawing-
|
||||
<logger name="jdbc.resultset" level="OFF" />
|
||||
<logger name="jdbc.resultsettable" level="DEBUG" />
|
||||
<logger name="jdbc.connection" level="OFF" />
|
||||
<logger name="org.mongodb.driver" level="OFF"/>
|
||||
|
||||
|
||||
<springProfile name="local,dev">
|
||||
@@ -61,7 +60,7 @@ See here for more details: http://gordondickens.com/wordpress/2013/03/27/sawing-
|
||||
</root>
|
||||
</springProfile>
|
||||
<springProfile name="stg,prd">
|
||||
<root level="info">
|
||||
<root level="debug">
|
||||
<appender-ref ref="console"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
</root>
|
||||
|
||||
Reference in New Issue
Block a user