| ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/interceptor/HeaderInterceptor.java | ●●●●● patch | view | raw | blame | history | |
| ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java | ●●●●● patch | view | raw | blame | history | |
| ruoyi-ui/src/plugins/auth.js | ●●●●● patch | view | raw | blame | history | |
| ruoyi-ui/src/plugins/index.js | ●●●●● patch | view | raw | blame | history |
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/interceptor/HeaderInterceptor.java
@@ -14,6 +14,7 @@ /** * 自定义请求头拦截器,将Header数据封装到线程变量中方便获取 * 注意:此拦截器会同时验证当前用户有效期自动刷新有效期 * * @author ruoyi */ ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java
@@ -59,7 +59,7 @@ Claims claims = JwtUtils.parseToken(token); if (claims == null) { return unauthorizedResponse(exchange, "token已过期或验证不正确!"); return unauthorizedResponse(exchange, "令牌已过期或验证不正确!"); } String userkey = JwtUtils.getUserKey(claims); boolean islogin = redisService.hasKey(getTokenKey(userkey)); ruoyi-ui/src/plugins/auth.js
New file @@ -0,0 +1,60 @@ import store from '@/store' function authPermission(permission) { const all_permission = "*:*:*"; const permissions = store.getters && store.getters.permissions if (permission && permission.length > 0) { return permissions.some(v => { return all_permission === v || v === permission }) } else { return false } } function authRole(role) { const super_admin = "admin"; const roles = store.getters && store.getters.roles if (role && role.length > 0) { return roles.some(v => { return super_admin === v || v === role }) } else { return false } } export default { // 验证用户是否具备某权限 hasPermi(permission) { return authPermission(permission); }, // 验证用户是否含有指定权限,只需包含其中一个 hasPermiOr(permissions) { return permissions.some(item => { return authPermission(item) }) }, // 验证用户是否含有指定权限,必须全部拥有 hasPermiAnd(permissions) { return permissions.every(item => { return authPermission(item) }) }, // 验证用户是否具备某角色 hasRole(role) { return authRole(role); }, // 验证用户是否含有指定角色,只需包含其中一个 hasRoleOr(roles) { return roles.some(item => { return authRole(item) }) }, // 验证用户是否含有指定角色,必须全部拥有 hasRoleAnd(roles) { return roles.every(item => { return authRole(item) }) } } ruoyi-ui/src/plugins/index.js
@@ -1,9 +1,12 @@ import auth from './auth' import cache from './cache' import modal from './modal' import download from './download' export default { install(Vue) { // 认证对象 Vue.prototype.$auth = auth // 缓存对象 Vue.prototype.$cache = cache // 模态框对象