diff --git a/src/permission.js b/src/permission.js index 7564660..d16160c 100644 --- a/src/permission.js +++ b/src/permission.js @@ -52,6 +52,24 @@ const initSystemSettings = () => { router.beforeEach((to, from, next) => { NProgress.start() + + // 检查是否是新会话(浏览器新打开) + const isNewSession = !sessionStorage.getItem('sessionInitialized') + + if (isNewSession) { + // 新会话:清除所有登录状态,强制跳转到登录页 + sessionStorage.setItem('sessionInitialized', 'true') + store.dispatch('LogOut').then(() => { + if (to.path !== '/login') { + next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) + } else { + next() + } + NProgress.done() + }) + return + } + if (getToken()) { to.meta.title && store.dispatch('settings/setTitle', to.meta.title) const isLock = store.getters.isLock diff --git a/src/utils/auth.js b/src/utils/auth.js index a4b6566..f966025 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -14,7 +14,7 @@ export function setToken(token) { return Cookies.set(TokenKey, token) } export function setLoginInfo(loginInfo) { - return Cookies.set('loginInfo', JSON.stringify(loginInfo)) // 添加序列化 + return Cookies.set('loginInfo', JSON.stringify(loginInfo)) // 添加序列化,会话级Cookie(浏览器关闭自动清除) } export function removeToken() { diff --git a/src/views/login.vue b/src/views/login.vue index 9526b53..48f3865 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -79,8 +79,7 @@ -