From 4dcbaf5b578fdfbcae74bb1ee221146064ee7e5a Mon Sep 17 00:00:00 2001 From: zer0Black <694429613@qq.com> Date: Sun, 17 Apr 2022 23:13:28 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E5=B8=82=E5=9C=BA=E5=92=8C=E6=96=B9=E6=B3=95=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/JeroBootExceptionHandler.java | 4 ++-- .../com/jero/common/system/util/JwtUtil.java | 5 +++-- .../controller/OnlCgformApiController.java | 14 ++++++-------- .../cas/controller/CasClientController.java | 2 +- .../ngalain/controller/NgAlainController.java | 3 +-- .../system/controller/SysDataLogController.java | 2 +- .../system/service/impl/LoginServiceImpl.java | 8 ++++---- jero-web/src/permission.js | 9 +-------- jero-web/src/store/modules/user.js | 16 ++++++++++------ 9 files changed, 29 insertions(+), 34 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java index f8ac4228..46bc525b 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/exception/JeroBootExceptionHandler.java @@ -1,6 +1,6 @@ package com.jero.common.exception; -import io.lettuce.core.RedisConnectionException; +import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authz.AuthorizationException; import org.apache.shiro.authz.UnauthorizedException; import com.jero.common.api.vo.Result; @@ -29,7 +29,7 @@ public class JeroBootExceptionHandler { * 处理自定义异常 */ @ExceptionHandler(JeroBootException.class) - public Result handleRRException(JeroBootException e){ + public Result handleJeroBootException(JeroBootException e){ log.error(e.getMessage(), e); return Result.error(e.getMessage()); } diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java index fe375ad2..d8012a79 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java @@ -28,8 +28,9 @@ import com.jero.common.util.oConvertUtils; **/ public class JwtUtil { - // Token过期时间30分钟(用户登录过期时间是此时间的两倍,以token在reids缓存时间为准) - public static final long EXPIRE_TIME = 60 * 60 * 1000; + // Token过期时间180分钟(用户登录过期时间是此时间的两倍,以token在reids缓存时间为准) + public static final long EXPIRE_TIME = 180 * 60 * 1000; +// public static final long EXPIRE_TIME = 2000; /** * 校验token是否正确 diff --git a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java index 3cd30682..85ccffbd 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java +++ b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/controller/OnlCgformApiController.java @@ -143,8 +143,7 @@ public class OnlCgformApiController { Result var2 = new Result(); OnlCgformHead var3 = (OnlCgformHead)this.onlCgformHeadService.getById(var1); if (var3 == null) { - var2.error500("实体不存在"); - return var2; + return Result.error("实体不存在"); } else { OnlComplexModel var4 = this.onlineService.queryOnlineConfig(var3); var4.setIsDesForm(var3.getIsDesForm()); @@ -167,8 +166,7 @@ public class OnlCgformApiController { Result var3 = new Result(); OnlCgformHead var4 = (OnlCgformHead)this.onlCgformHeadService.getById(var1); if (var4 == null) { - var3.error500("实体不存在"); - return var3; + return Result.error("实体不存在"); } else { try { String var5 = var4.getTableName(); @@ -178,7 +176,7 @@ public class OnlCgformApiController { var3.setResult(var7); } catch (Exception var8) { log.error(var8.getMessage(), var8); - var3.error500("数据库查询失败," + var8.getMessage()); + return Result.error("数据库查询失败," + var8.getMessage()); } var3.setOnlTable(var4.getTableName()); @@ -1100,7 +1098,7 @@ public class OnlCgformApiController { Result var3 = new Result(); OnlCgformHead var4 = (OnlCgformHead)this.onlCgformHeadService.getById(var1); if (var4 == null) { - var3.error500("实体不存在"); + var3.error("实体不存在"); return var3; } else { try { @@ -1127,7 +1125,7 @@ public class OnlCgformApiController { var3.setResult(var11); } catch (Exception var12) { log.error(var12.getMessage(), var12); - var3.error500("数据库查询失败" + var12.getMessage()); + var3.error("数据库查询失败" + var12.getMessage()); } var3.setOnlTable(var4.getTableName()); @@ -1183,7 +1181,7 @@ public class OnlCgformApiController { Result var2 = new Result(); OnlCgformHead var3 = (OnlCgformHead)this.onlCgformHeadService.getById(var1); if (var3 == null) { - var2.error500("实体不存在"); + var2.error("实体不存在"); return var2; } else { HashMap var4 = new HashMap(); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/cas/controller/CasClientController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/cas/controller/CasClientController.java index 3a13662a..503f70fa 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/cas/controller/CasClientController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/cas/controller/CasClientController.java @@ -85,7 +85,7 @@ public class CasClientController { String token = JwtUtil.sign(sysUser.getUsername(), sysUser.getPassword()); // 设置超时时间 redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); - redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000); + redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 1000); //获取用户部门信息 JSONObject obj = new JSONObject(); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/controller/NgAlainController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/controller/NgAlainController.java index 69b77313..2583e907 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/controller/NgAlainController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/controller/NgAlainController.java @@ -63,8 +63,7 @@ public class NgAlainController { result.setResult(ls); } catch (Exception e) { log.error(e.getMessage(),e); - result.error500("操作失败"); - return result; + return Result.error("操作失败"); } List dictlist=new ArrayList<>(); for (DictModel l : ls) { diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDataLogController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDataLogController.java index b0f14c12..5201f802 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDataLogController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDataLogController.java @@ -83,7 +83,7 @@ public class SysDataLogController { queryWrapper.eq("data_id", dataId); List list = service.list(queryWrapper); if(list==null||list.size()<=0) { - result.error500("未找到版本信息"); + return Result.error("未找到版本信息"); }else { result.setResult(list); result.setSuccess(true); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java index e391fe39..aa7393bb 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/LoginServiceImpl.java @@ -118,7 +118,7 @@ public class LoginServiceImpl implements ILoginService { retryCount = (int) redisUtil.get(RETRY_LOGIN_PREFIX + username); } if (retryCount >= RETRY_LOGIN_MAX_COUNT){ - return Result.error("密码错误次数过多,请稍后重试"); + return Result.error("密码错误次数过多,请15分钟后重试"); } //2. 校验用户名或密码是否正确 String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt()); @@ -127,7 +127,7 @@ public class LoginServiceImpl implements ILoginService { // 重试登录次数加一 retryCount++; if( retryCount == 1){ - redisUtil.set(RETRY_LOGIN_PREFIX + username,retryCount,60 * 30); + redisUtil.set(RETRY_LOGIN_PREFIX + username,retryCount,60 * 15); }else { redisUtil.set(RETRY_LOGIN_PREFIX + username,retryCount,redisUtil.getExpire(RETRY_LOGIN_PREFIX + username)); } @@ -409,7 +409,7 @@ public class LoginServiceImpl implements ILoginService { String token = JwtUtil.sign(username, syspassword); // 设置超时时间 redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); - redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000); + redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 1000); //token 信息 obj.put("token", token); @@ -496,7 +496,7 @@ public class LoginServiceImpl implements ILoginService { String token = JwtUtil.sign(username, syspassword); // 设置token缓存有效时间 redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); - redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME * 2 / 1000); + redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 1000); obj.put("token", token); obj.put("userInfo", sysUser); diff --git a/jero-web/src/permission.js b/jero-web/src/permission.js index c1fd2fa9..97e8d2c5 100644 --- a/jero-web/src/permission.js +++ b/jero-web/src/permission.js @@ -14,7 +14,6 @@ whiteList.push(OAUTH2_LOGIN_PAGE_PATH) router.beforeEach((to, from, next) => { NProgress.start() // start progress bar - if (Vue.ls.get(ACCESS_TOKEN)) { /* has token */ if (to.path === '/user/login' || to.path === OAUTH2_LOGIN_PAGE_PATH) { @@ -66,13 +65,7 @@ router.beforeEach((to, from, next) => { }) }) .catch(() => { - /* notification.error({ - message: '系统提示', - description: '请求用户信息失败,请重试!' - })*/ - store.dispatch('Logout').then(() => { - next({ path: '/user/login', query: { redirect: to.fullPath } }) - }) + return Promise.reject() }) } else { next() diff --git a/jero-web/src/store/modules/user.js b/jero-web/src/store/modules/user.js index 187fa3c8..882a431e 100644 --- a/jero-web/src/store/modules/user.js +++ b/jero-web/src/store/modules/user.js @@ -1,6 +1,7 @@ import Vue from 'vue' import { login, logout, phoneLogin, thirdLogin } from "@/api/login" import { ACCESS_TOKEN, USER_NAME,USER_INFO,USER_AUTH,SYS_BUTTON_AUTH,UI_CACHE_DB_DICT_DATA,TENANT_ID,CACHE_INCLUDED_ROUTES } from "@/store/mutation-types" +import store from '@/store' import { welcome } from "@/utils/util" import { queryPermissionsByUser } from '@/api/api' import { getAction } from '@/api/manage' @@ -140,9 +141,14 @@ const user = { //update--end--autor:qinfeng-----date:20200109------for: 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ commit('SET_PERMISSIONLIST', menuData) } else { - notification.error({ - message: '系统提示', - description: '该用户无权限,请联系管理员!' + Vue.prototype.$Jmodal.error({ + title: '无权限', + content: '该用户无权限,请联系管理员!', + okText: '确认', + mask: false, + onOk: () => { + store.dispatch('Logout') + } }) reject('getPermissionList: permissions must be a non-null array !') } @@ -173,9 +179,7 @@ const user = { window.location.href = process.env.VUE_APP_CAS_BASE_URL + '/logout?service=' + serviceUrl } resolve() - setTimeout (() => { - location.reload(); - }, 1000) + window.location.replace("/user/login") }).catch(() => { resolve() })