diff --git a/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java b/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java index 1c45756a52..ba23292a7a 100644 --- a/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java +++ b/backend/src/main/java/io/dataease/auth/filter/JWTFilter.java @@ -49,6 +49,9 @@ public class JWTFilter extends BasicHttpAuthenticationFilter { protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception { HttpServletRequest httpServletRequest = (HttpServletRequest) request; String authorization = httpServletRequest.getHeader("Authorization"); + if (StringUtils.startsWith(authorization, "Basic")) { + return false; + } // 当没有出现登录超时 且需要刷新token 则执行刷新token if (JWTUtils.loginExpire(authorization)){ throw new AuthenticationException(expireMessage); diff --git a/backend/src/main/java/io/dataease/auth/server/AuthServer.java b/backend/src/main/java/io/dataease/auth/server/AuthServer.java index 09a311c22c..74bf04c371 100644 --- a/backend/src/main/java/io/dataease/auth/server/AuthServer.java +++ b/backend/src/main/java/io/dataease/auth/server/AuthServer.java @@ -12,6 +12,7 @@ import io.dataease.auth.util.JWTUtils; import io.dataease.auth.util.RsaUtil; import io.dataease.commons.utils.BeanUtils; import io.dataease.commons.utils.CodingUtil; +import io.dataease.commons.utils.LogUtil; import io.dataease.commons.utils.ServletUtils; import io.dataease.exception.DataEaseException; @@ -84,8 +85,17 @@ public class AuthServer implements AuthApi { @Override public String logout() { String token = ServletUtils.getToken(); - Long userId = JWTUtils.tokenInfoByToken(token).getUserId(); - authUserService.clearCache(userId); + if (StringUtils.isEmpty(token) || StringUtils.equals("null", token) || StringUtils.equals("undefined", token)) { + return "success"; + } + try{ + Long userId = JWTUtils.tokenInfoByToken(token).getUserId(); + authUserService.clearCache(userId); + }catch (Exception e) { + LogUtil.error(e); + return "fail"; + } + return "success"; } diff --git a/frontend/src/components/Notification/index.vue b/frontend/src/components/Notification/index.vue index e295018421..6e0d6cae1a 100644 --- a/frontend/src/components/Notification/index.vue +++ b/frontend/src/components/Notification/index.vue @@ -64,6 +64,7 @@ import { query, updateStatus } from '@/api/system/msg' import { getTypeName, loadMsgTypes } from '@/utils/webMsg' import { mapGetters } from 'vuex' import bus from '@/utils/bus' +import { getToken } from '@/utils/auth' export default { data() { return { @@ -172,6 +173,11 @@ export default { query(currentPage, pageSize, param).then(response => { this.data = response.data.listObject this.paginationConfig.total = response.data.itemCount + }).catch(() => { + const token = getToken() + if (!token || token === 'null' || token === 'undefined') { + this.timer && clearInterval(this.timer) + } }) }, getTypeName(value) { diff --git a/frontend/src/views/dataset/common/DatasetGroupSelectorTree.vue b/frontend/src/views/dataset/common/DatasetGroupSelectorTree.vue index 8f097ea5c2..18e859b0fe 100644 --- a/frontend/src/views/dataset/common/DatasetGroupSelectorTree.vue +++ b/frontend/src/views/dataset/common/DatasetGroupSelectorTree.vue @@ -163,16 +163,17 @@ export default { this.unionDataChange() }, 'table': function() { - if (this.table && this.table.sceneId) { - post('dataset/group/getScene/' + this.table.sceneId, {}, false).then(response => { - this.currGroup = response.data - - this.$nextTick(function() { - this.sceneMode = true - this.tableTree() - }) - }) - } + // if (this.table && this.table.sceneId) { + // post('dataset/group/getScene/' + this.table.sceneId, {}, false).then(response => { + // this.currGroup = response.data + // + // this.$nextTick(function() { + // this.sceneMode = true + // this.tableTree() + // }) + // }) + // } + this.treeNode(this.groupForm) }, search(val) { this.$emit('switchComponent', { name: '' }) @@ -236,7 +237,7 @@ export default { this.tableData = [] if (this.currGroup) { this.dsLoading = true - this.tables = []; + this.tables = [] post('/dataset/table/list', { sort: 'type asc,name asc,create_time desc', sceneId: this.currGroup.id, @@ -247,7 +248,7 @@ export default { if (response.data[i].mode === 1 && this.kettleRunning === false) { this.$set(response.data[i], 'disabled', true) } - if(hasDataPermission(this.privileges, response.data[i].privileges)){ + if (hasDataPermission(this.privileges, response.data[i].privileges)) { this.tables.push(response.data[i]) } } @@ -352,7 +353,7 @@ export default { if (!this.isTreeSearch) { if (node.data.id) { this.dsLoading = true - this.tables = []; + this.tables = [] post('/dataset/table/listAndGroup', { sort: 'type asc,name asc,create_time desc', sceneId: node.data.id, @@ -364,7 +365,7 @@ export default { if (response.data[i].mode === 1 && this.kettleRunning === false) { this.$set(response.data[i], 'disabled', true) } - if(hasDataPermission(this.privileges, response.data[i].privileges)){ + if (hasDataPermission(this.privileges, response.data[i].privileges)) { this.tables.push(response.data[i]) } } diff --git a/frontend/src/views/dataset/data/UnionView.vue b/frontend/src/views/dataset/data/UnionView.vue index 092d11f8b2..466556fcf3 100644 --- a/frontend/src/views/dataset/data/UnionView.vue +++ b/frontend/src/views/dataset/data/UnionView.vue @@ -105,7 +105,7 @@ width="500" trigger="click" > - + {{ targetTable.name || $t('dataset.pls_slc_union_table') }} @@ -206,6 +206,8 @@ export default { if (this.table.id) { if (this.table.mode === 0) { this.customType = ['db'] + } else { + this.customType = ['db', 'sql', 'excel'] } post('dataset/union/listByTableId/' + this.table.id, {}).then(response => { // console.log(response)
{{ targetTable.name || $t('dataset.pls_slc_union_table') }}