
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<template>
<div class="content-zone">
<div class="content">
<div class="scroll">
<div class="title-zone">
<div class="page-title">
<p>로그인 정책 설정</p>
</div>
<PagiNavigationBar />
</div>
<div open class="form-box">
<div class="form-box-title">
<p class="summary-style pl10">기본 정보</p>
</div>
<div class="form-content">
<div class="gd-12 pl0">
<label class="form-title">중복로그인 설정</label>
<div class="form-group">
<div class="check-area">
<div class="form-check">
<input type="radio" class="mr5" :value="true" v-model="allowMultipleLogin" @change="saveByLoginPolicy" />
<label>허용</label>
</div>
<div class="form-check">
<input type="radio" class="mr5" :value="false" v-model="allowMultipleLogin" @change="saveByLoginPolicy" />
<label>비허용</label>
</div>
</div>
<!-- <p>{{ allowMultipleLogin ? '중복 로그인을 허용하고 있습니다.' : '중복 로그인을 허용하지 않습니다.' }}</p>-->
<span style="color: red;"> ※ 로그인 방식을 변경하면 전체 사용자가 로그아웃됩니다.</span>
</div>
</div>
<div>
<label class="form-title">로그인 방식 설정</label>
<div class="form-group">
<div class="check-area">
<div class="form-check">
<input type="radio" class="mr5" value="J" v-model="lgnMode" @change="saveByLoginMode" />
<label>JWT 방식</label>
</div>
<div class="form-check">
<input type="radio" class="mr5" value="S" v-model="lgnMode" @change="saveByLoginMode" />
<label>SESSION 방식</label>
</div>
</div>
<span class="ml10 gray">
현재 로그인 방식은 <strong>{{ loginModeLabel }}</strong> 입니다.
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { findAllByLoginPolicy, saveByLoginPolicy, findAllByLoginMode, saveByLoginMode } from '../../../../../resources/api/loginPolicy'
export default {
data() {
return {
allowMultipleLogin: null,
lgnMode : null
}
},
created() {
this.findAll();
},
mounted() {
},
computed: {
loginModeLabel() {
return this.lgnMode === 'J' ? 'JWT' : 'SESSION';
}
},
methods: {
async findAll() {
try {
const res1 = await findAllByLoginPolicy();
this.allowMultipleLogin = res1.data.data;
const res2 = await findAllByLoginMode();
this.lgnMode = res2.data.data;
} catch (err) {
alert('설정 정보를 불러오는 데 실패했습니다.');
}
},
saveByLoginPolicy() {
try {
console.log("this.allowMultipleLogin", this.allowMultipleLogin);
const loginPolicy = {};
loginPolicy.allowMultipleLogin = this.allowMultipleLogin ? "Y" : "N";
// await saveByLoginPolicy(loginPolicy);
alert('중복 로그인 설정이 저장되었습니다.');
} catch (err) {
alert('중복 로그인 설정 저장 실패');
}
},
saveByLoginMode() {
const confirmed = confirm(
'로그인 방식을 변경하면 전체 사용자가 로그아웃됩니다.\n계속하시겠습니까?'
);
if (!confirmed) return;
try {
const loginMode = {};
loginMode.lgnMode = this.lgnMode;
// await saveByLoginMode(loginMode);
alert('로그인 방식이 변경되었습니다.\n다시 로그인해주세요.');
store.commit("setStoreReset");
window.location = '/login.page';
return Promise.reject(refreshError);
} catch (err) {
alert('로그인 방식 저장 실패', err);
}
}
}
}
</script>