优化: 改用注解方式验证是否登录和权限 【废弃配置文件方式】
This commit is contained in:
parent
9cc41d2e80
commit
1c480b9630
|
|
@ -33,4 +33,5 @@
|
||||||
<tree path="/like-front/src/main/java/com/mdd/front/LikeFrontThreadLocal.java" title="线程" extension="java"/>
|
<tree path="/like-front/src/main/java/com/mdd/front/LikeFrontThreadLocal.java" title="线程" extension="java"/>
|
||||||
<tree path="/like-admin/src/main/java/com/mdd/admin/crontab" title="任务层"/>
|
<tree path="/like-admin/src/main/java/com/mdd/admin/crontab" title="任务层"/>
|
||||||
<tree path="/like-common/src/main/java/com/mdd/common/util" title="公共工具"/>
|
<tree path="/like-common/src/main/java/com/mdd/common/util" title="公共工具"/>
|
||||||
|
<tree path="/like-common/src/main/java/com/mdd/common/aop" title="公共切面"/>
|
||||||
</trees>
|
</trees>
|
||||||
|
|
@ -2,13 +2,15 @@ package com.mdd.admin;
|
||||||
|
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.mdd.admin.config.AdminConfig;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.mdd.admin.service.ISystemAuthAdminService;
|
import com.mdd.common.aop.NotPower;
|
||||||
|
import com.mdd.common.aop.NotLogin;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
|
import com.mdd.common.entity.system.SystemAuthAdmin;
|
||||||
import com.mdd.common.enums.HttpEnum;
|
import com.mdd.common.enums.HttpEnum;
|
||||||
import com.mdd.common.util.RedisUtils;
|
import com.mdd.common.exception.LoginException;
|
||||||
|
import com.mdd.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.mdd.common.util.StringUtils;
|
import com.mdd.common.util.StringUtils;
|
||||||
import com.mdd.common.util.ToolsUtils;
|
|
||||||
import com.mdd.common.util.YmlUtils;
|
import com.mdd.common.util.YmlUtils;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
@ -18,9 +20,9 @@ import org.springframework.web.servlet.HandlerInterceptor;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拦截器
|
* 拦截器
|
||||||
|
|
@ -29,33 +31,45 @@ import java.util.Map;
|
||||||
public class LikeAdminInterceptor implements HandlerInterceptor {
|
public class LikeAdminInterceptor implements HandlerInterceptor {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
ISystemAuthAdminService iSystemAuthAdminService;
|
SystemAuthAdminMapper systemAuthAdminMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 前置处理器
|
||||||
|
*
|
||||||
|
* @param request 请求
|
||||||
|
* @param response 响应
|
||||||
|
* @param handler 处理
|
||||||
|
* @return boolean
|
||||||
|
* @throws Exception 异常
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean preHandle(@NotNull HttpServletRequest request,
|
public boolean preHandle(@NotNull HttpServletRequest request,
|
||||||
@NotNull HttpServletResponse response,
|
@NotNull HttpServletResponse response,
|
||||||
@NotNull Object handler) throws Exception {
|
@NotNull Object handler) throws Exception {
|
||||||
|
|
||||||
// 请求的类型
|
// 请求方法类型
|
||||||
response.setContentType("application/json;charset=utf-8");
|
response.setContentType("application/json;charset=utf-8");
|
||||||
if (!(handler instanceof HandlerMethod)) {
|
if (!(handler instanceof HandlerMethod)) {
|
||||||
return HandlerInterceptor.super.preHandle(request, response, handler);
|
return HandlerInterceptor.super.preHandle(request, response, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 路由转权限
|
// 登录权限校验
|
||||||
String prefix = "/api/";
|
try {
|
||||||
String route = request.getRequestURI().replaceFirst(prefix, "");
|
Method method = this.obtainAop(handler);
|
||||||
String auths = route.replace("/", ":");
|
String reqUri = request.getRequestURI();
|
||||||
|
this.checkLogin(method, reqUri);
|
||||||
// 免登录接口
|
} catch (LoginException e) {
|
||||||
List<String> notLoginUri = Arrays.asList(AdminConfig.notLoginUri);
|
AjaxResult<Object> result = AjaxResult.failed(e.getCode(), e.getMsg());
|
||||||
if (notLoginUri.contains(auths)) {
|
response.getWriter().print(JSON.toJSONString(result));
|
||||||
return HandlerInterceptor.super.preHandle(request, response, handler);
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 演示环境拦截
|
// 演示环境拦截
|
||||||
String env = YmlUtils.get("like.production");
|
String env = YmlUtils.get("like.production");
|
||||||
if (StringUtils.isNotNull(env) && env.equals("true")) {
|
if (StringUtils.isNotNull(env) && env.equals("true")) {
|
||||||
|
String prefix = "/api/";
|
||||||
|
String route = request.getRequestURI().replaceFirst(prefix, "");
|
||||||
|
String auths = route.replace("/", ":");
|
||||||
List<String> ignoreUrl = Arrays.asList("system:login", "system:logout");
|
List<String> ignoreUrl = Arrays.asList("system:login", "system:logout");
|
||||||
if (request.getMethod().equals("POST") && !ignoreUrl.contains(auths)) {
|
if (request.getMethod().equals("POST") && !ignoreUrl.contains(auths)) {
|
||||||
String message = "演示环境不支持修改数据,请下载源码本地部署体验";
|
String message = "演示环境不支持修改数据,请下载源码本地部署体验";
|
||||||
|
|
@ -65,64 +79,19 @@ public class LikeAdminInterceptor implements HandlerInterceptor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Token是否为空
|
// 验证通过继续
|
||||||
String token = StpUtil.getTokenValue();
|
|
||||||
if (StringUtils.isBlank(token)) {
|
|
||||||
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.TOKEN_EMPTY.getCode(), HttpEnum.TOKEN_EMPTY.getMsg());
|
|
||||||
response.getWriter().print(JSON.toJSONString(result));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Token是否过期
|
|
||||||
Object id = StpUtil.getLoginId();
|
|
||||||
if (StringUtils.isNull(id)) {
|
|
||||||
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
|
|
||||||
response.getWriter().print(JSON.toJSONString(result));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Users是否存在
|
|
||||||
if (!RedisUtils.hExists(AdminConfig.backstageManageKey, id)) {
|
|
||||||
iSystemAuthAdminService.cacheAdminUserByUid(Integer.parseInt(id.toString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取用户的信息
|
|
||||||
String UserStr = RedisUtils.hGet(AdminConfig.backstageManageKey, String.valueOf(id)).toString();
|
|
||||||
Map<String, String> userMap = ToolsUtils.jsonToMap(UserStr);
|
|
||||||
|
|
||||||
// 校验用户被删除
|
|
||||||
if (userMap.get("isDelete").equals("1")) {
|
|
||||||
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.TOKEN_INVALID.getCode(), HttpEnum.TOKEN_INVALID.getMsg());
|
|
||||||
response.getWriter().print(JSON.toJSONString(result));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 校验用户被禁用
|
|
||||||
if (userMap.get("isDisable").equals("1")) {
|
|
||||||
AjaxResult<Object> result = AjaxResult.failed(HttpEnum.LOGIN_DISABLE_ERROR.getCode(), HttpEnum.LOGIN_DISABLE_ERROR.getMsg());
|
|
||||||
response.getWriter().print(JSON.toJSONString(result));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 用户写本地线里
|
|
||||||
LikeAdminThreadLocal.put("adminId", id);
|
|
||||||
LikeAdminThreadLocal.put("roleIds", userMap.get("roleIds"));
|
|
||||||
LikeAdminThreadLocal.put("username", userMap.get("username"));
|
|
||||||
LikeAdminThreadLocal.put("nickname", userMap.get("nickname"));
|
|
||||||
|
|
||||||
// 免校验权限接口
|
|
||||||
List<String> notAuthUri = Arrays.asList(AdminConfig.notAuthUri);
|
|
||||||
if (notAuthUri.contains(auths) || Integer.parseInt(id.toString()) == 1) {
|
|
||||||
return HandlerInterceptor.super.preHandle(request, response, handler);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 校验用户的权限
|
|
||||||
StpUtil.checkPermission(auths);
|
|
||||||
|
|
||||||
// 验证通过继续操作
|
|
||||||
return HandlerInterceptor.super.preHandle(request, response, handler);
|
return HandlerInterceptor.super.preHandle(request, response, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 后置处理器
|
||||||
|
*
|
||||||
|
* @param request 请求
|
||||||
|
* @param response 响应
|
||||||
|
* @param handler 处理
|
||||||
|
* @param ex 异常
|
||||||
|
* @throws Exception 异常
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void afterCompletion(@NotNull HttpServletRequest request,
|
public void afterCompletion(@NotNull HttpServletRequest request,
|
||||||
@NotNull HttpServletResponse response,
|
@NotNull HttpServletResponse response,
|
||||||
|
|
@ -130,4 +99,114 @@ public class LikeAdminInterceptor implements HandlerInterceptor {
|
||||||
LikeAdminThreadLocal.remove();
|
LikeAdminThreadLocal.remove();
|
||||||
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
|
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提取注解
|
||||||
|
*
|
||||||
|
* @param handler 处理器
|
||||||
|
* @return Method
|
||||||
|
* @throws Exception 异常
|
||||||
|
*/
|
||||||
|
private Method obtainAop(@NotNull Object handler) throws Exception {
|
||||||
|
String[] objArr = handler.toString().split("#");
|
||||||
|
String methodStr = objArr[1].split("\\(")[0];
|
||||||
|
String classStr = objArr[0];
|
||||||
|
Class<?> clazz = Class.forName(classStr);
|
||||||
|
|
||||||
|
Method[] methods = clazz.getDeclaredMethods();
|
||||||
|
for (Method method : methods) {
|
||||||
|
if (method.getName().equals(methodStr)) {
|
||||||
|
return method;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录验证
|
||||||
|
*
|
||||||
|
* @param method 方法类
|
||||||
|
* @author fzr
|
||||||
|
*/
|
||||||
|
private void checkLogin(Method method, String reqUri) {
|
||||||
|
for (int i=0; i<=0; i++) {
|
||||||
|
// 免登校验
|
||||||
|
if (StringUtils.isNotNull(method) && method.isAnnotationPresent(NotLogin.class)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 令牌校验
|
||||||
|
String token = StpUtil.getTokenValue();
|
||||||
|
if (StringUtils.isNull(token) || StringUtils.isBlank(token)) {
|
||||||
|
Integer errCode = HttpEnum.TOKEN_EMPTY.getCode();
|
||||||
|
String errMsg = HttpEnum.TOKEN_EMPTY.getMsg();
|
||||||
|
throw new LoginException(errCode, errMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 登录校验
|
||||||
|
Object id = StpUtil.getLoginId();
|
||||||
|
if (StringUtils.isNull(id)) {
|
||||||
|
Integer errCode = HttpEnum.TOKEN_INVALID.getCode();
|
||||||
|
String errMsg = HttpEnum.TOKEN_INVALID.getMsg();
|
||||||
|
throw new LoginException(errCode, errMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户校验
|
||||||
|
SystemAuthAdmin adminUser = systemAuthAdminMapper.selectOne(
|
||||||
|
new QueryWrapper<SystemAuthAdmin>()
|
||||||
|
.select("id,username,role_ids,dept_ids,post_ids,is_disable")
|
||||||
|
.eq("id", Integer.parseInt(id.toString()))
|
||||||
|
.eq("is_delete", 0)
|
||||||
|
.last("limit 1"));
|
||||||
|
|
||||||
|
// 删除校验
|
||||||
|
if (StringUtils.isNull(adminUser)) {
|
||||||
|
Integer errCode = HttpEnum.TOKEN_INVALID.getCode();
|
||||||
|
String errMsg = HttpEnum.TOKEN_INVALID.getMsg();
|
||||||
|
throw new LoginException(errCode, errMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 禁用校验
|
||||||
|
if (adminUser.getIsDisable().equals(1)) {
|
||||||
|
Integer errCode = HttpEnum.LOGIN_DISABLE_ERROR.getCode();
|
||||||
|
String errMsg = HttpEnum.LOGIN_DISABLE_ERROR.getMsg();
|
||||||
|
throw new LoginException(errCode, errMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 写入线程
|
||||||
|
LikeAdminThreadLocal.put("adminId", id);
|
||||||
|
LikeAdminThreadLocal.put("username", adminUser.getUsername());
|
||||||
|
LikeAdminThreadLocal.put("roleIds", adminUser.getRoleIds());
|
||||||
|
LikeAdminThreadLocal.put("deptIds", adminUser.getDeptIds());
|
||||||
|
LikeAdminThreadLocal.put("postIds", adminUser.getPostIds());
|
||||||
|
|
||||||
|
// 权限校验
|
||||||
|
this.checkAuth(method, reqUri);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 权限验证
|
||||||
|
*
|
||||||
|
* @param method 方法类
|
||||||
|
* @param uri 请求路由
|
||||||
|
* @author fzr
|
||||||
|
*/
|
||||||
|
private void checkAuth(Method method, String uri) {
|
||||||
|
for (int i=0; i<=0; i++) {
|
||||||
|
// 免权限校验
|
||||||
|
if (StringUtils.isNotNull(method) && method.isAnnotationPresent(NotPower.class)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 路由转权限
|
||||||
|
String prefix = "/api/";
|
||||||
|
String route = uri.replaceFirst(prefix, "");
|
||||||
|
String auths = route.replace("/", ":");
|
||||||
|
|
||||||
|
// 校验权限
|
||||||
|
StpUtil.checkPermission(auths);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public class LikeAdminThreadLocal {
|
||||||
/**
|
/**
|
||||||
* 获取角色ID
|
* 获取角色ID
|
||||||
*/
|
*/
|
||||||
public static List<Integer> getRoleId() {
|
public static List<Integer> getRoleIds() {
|
||||||
String roleIds = LikeAdminThreadLocal.get("roleIds").toString();
|
String roleIds = LikeAdminThreadLocal.get("roleIds").toString();
|
||||||
if (roleIds.equals("") || roleIds.equals("0")) {
|
if (roleIds.equals("") || roleIds.equals("0")) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,27 @@
|
||||||
package com.mdd.admin.config.aop;
|
package com.mdd.admin.aop;
|
||||||
|
|
||||||
|
import com.mdd.admin.aop.aspect.RequestType;
|
||||||
|
|
||||||
import java.lang.annotation.*;
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日志记录类
|
||||||
|
*/
|
||||||
@Target({ElementType.METHOD})
|
@Target({ElementType.METHOD})
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Documented
|
@Documented
|
||||||
public @interface Log {
|
public @interface Log {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模块
|
* 模块名称
|
||||||
|
*
|
||||||
* @return String
|
* @return String
|
||||||
*/
|
*/
|
||||||
String title() default "";
|
String title() default "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模块
|
* 请求类型
|
||||||
|
*
|
||||||
* @return String
|
* @return String
|
||||||
*/
|
*/
|
||||||
RequestType requestType() default RequestType.Default;
|
RequestType requestType() default RequestType.Default;
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
package com.mdd.admin.config.aop;
|
package com.mdd.admin.aop.aspect;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.mdd.admin.LikeAdminThreadLocal;
|
import com.mdd.admin.LikeAdminThreadLocal;
|
||||||
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.common.entity.system.SystemLogOperate;
|
import com.mdd.common.entity.system.SystemLogOperate;
|
||||||
import com.mdd.common.mapper.system.SystemLogOperateMapper;
|
import com.mdd.common.mapper.system.SystemLogOperateMapper;
|
||||||
import com.mdd.common.util.IpUtils;
|
import com.mdd.common.util.IpUtils;
|
||||||
|
|
@ -43,7 +44,7 @@ public class LogAspect {
|
||||||
/**
|
/**
|
||||||
* 声明切面点拦截那些类
|
* 声明切面点拦截那些类
|
||||||
*/
|
*/
|
||||||
@Pointcut("@annotation(com.mdd.admin.config.aop.Log)")
|
@Pointcut("@annotation(com.mdd.admin.aop.Log)")
|
||||||
private void pointCutMethodController() {}
|
private void pointCutMethodController() {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.mdd.admin.config.aop;
|
package com.mdd.admin.aop.aspect;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求参数类
|
* 请求参数类
|
||||||
|
|
@ -12,6 +12,5 @@ public enum RequestType {
|
||||||
* 默认数据类型
|
* 默认数据类型
|
||||||
*/
|
*/
|
||||||
Default
|
Default
|
||||||
;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
package com.mdd.admin.config;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 后台公共配置
|
|
||||||
*/
|
|
||||||
public class AdminConfig {
|
|
||||||
|
|
||||||
// 管理缓存键
|
|
||||||
public static final String backstageManageKey = "backstage:manage";
|
|
||||||
|
|
||||||
// 角色缓存键
|
|
||||||
public static final String backstageRolesKey = "backstage:roles";
|
|
||||||
|
|
||||||
// 免登录验证
|
|
||||||
public static String[] notLoginUri = new String[]{
|
|
||||||
"system:captcha", // 验证码
|
|
||||||
"system:login", // 登录接口
|
|
||||||
"index:config" // 配置接口
|
|
||||||
};
|
|
||||||
|
|
||||||
// 免权限验证
|
|
||||||
public static String[] notAuthUri = new String[]{
|
|
||||||
"system:logout", // 退出登录
|
|
||||||
"system:menu:menus", // 系统菜单
|
|
||||||
"system:menu:route", // 菜单路由
|
|
||||||
"system:admin:upInfo", // 管理员更新
|
|
||||||
"system:admin:self", // 管理员信息
|
|
||||||
"system:role:all", // 所有角色
|
|
||||||
"system:post:all", // 所有岗位
|
|
||||||
"system:dept:list", // 所有部门
|
|
||||||
"system:menu:list", // 菜单列表
|
|
||||||
"setting:dict:type:all", // 所有字典类型
|
|
||||||
"setting:dict:data:all", // 所有字典数据
|
|
||||||
"article:cate:all", // 所有文章分类
|
|
||||||
"decorate:data:article", // 装修数据文章
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
package com.mdd.admin.config;
|
|
||||||
|
|
||||||
import cn.dev33.satoken.stp.StpInterface;
|
|
||||||
import com.mdd.admin.LikeAdminThreadLocal;
|
|
||||||
import com.mdd.admin.service.ISystemAuthPermService;
|
|
||||||
import com.mdd.common.util.ArrayUtils;
|
|
||||||
import com.mdd.common.util.RedisUtils;
|
|
||||||
import com.mdd.common.util.StringUtils;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sa-Token自定义权限验证接口
|
|
||||||
*/
|
|
||||||
@Component
|
|
||||||
public class StpInterConfig implements StpInterface {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
ISystemAuthPermService iSystemAuthPermService;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回一个账号所拥有的权限码集合
|
|
||||||
*
|
|
||||||
* @param loginId 登录ID
|
|
||||||
* @param loginType 登录类型
|
|
||||||
* @return List<String>
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<String> getPermissionList(Object loginId, String loginType) {
|
|
||||||
List<Integer> roleIds = LikeAdminThreadLocal.getRoleId();
|
|
||||||
List<String> perms = new LinkedList<>();
|
|
||||||
|
|
||||||
for (Integer roleId : roleIds) {
|
|
||||||
Object menusObj = RedisUtils.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId));
|
|
||||||
if (StringUtils.isNull(menusObj)) {
|
|
||||||
iSystemAuthPermService.cacheRoleMenusByRoleId(roleId);
|
|
||||||
menusObj = RedisUtils.hGet(AdminConfig.backstageRolesKey, String.valueOf(roleId));
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotNull(menusObj)) {
|
|
||||||
perms.addAll(ArrayUtils.stringToListAsStr(menusObj.toString(), ","));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return perms;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 返回一个账号所拥有的角色标识集合
|
|
||||||
*
|
|
||||||
* @param loginId 登录ID
|
|
||||||
* @param loginType 登录类型
|
|
||||||
* @return List<String>
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<String> getRoleList(Object loginId, String loginType) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.mdd.admin.config;
|
package com.mdd.admin.config.stp;
|
||||||
|
|
||||||
import cn.dev33.satoken.exception.NotLoginException;
|
import cn.dev33.satoken.exception.NotLoginException;
|
||||||
import cn.dev33.satoken.exception.NotPermissionException;
|
import cn.dev33.satoken.exception.NotPermissionException;
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
package com.mdd.admin.config.stp;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpInterface;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.mdd.admin.LikeAdminThreadLocal;
|
||||||
|
import com.mdd.common.entity.system.SystemAuthMenu;
|
||||||
|
import com.mdd.common.entity.system.SystemAuthPerm;
|
||||||
|
import com.mdd.common.mapper.system.SystemAuthMenuMapper;
|
||||||
|
import com.mdd.common.mapper.system.SystemAuthPermMapper;
|
||||||
|
import com.mdd.common.util.StringUtils;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sa-Token自定义权限验证接口
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
public class StpInterConfig implements StpInterface {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
SystemAuthPermMapper systemAuthPermMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
SystemAuthMenuMapper systemAuthMenuMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回一个账号所拥有的权限码集合
|
||||||
|
*
|
||||||
|
* @param loginId 登录ID
|
||||||
|
* @param loginType 登录类型
|
||||||
|
* @return List<String>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<String> getPermissionList(Object loginId, String loginType) {
|
||||||
|
List<Integer> roleIds = LikeAdminThreadLocal.getRoleIds();
|
||||||
|
List<String> perms = new LinkedList<>();
|
||||||
|
|
||||||
|
if (roleIds.isEmpty()) {
|
||||||
|
return perms;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<SystemAuthPerm> permList = systemAuthPermMapper.selectList(
|
||||||
|
new QueryWrapper<SystemAuthPerm>()
|
||||||
|
.select("id,role_id,menu_id")
|
||||||
|
.in("role_id", roleIds));
|
||||||
|
|
||||||
|
if (permList.isEmpty()) {
|
||||||
|
return perms;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Integer> menuIds = new LinkedList<>();
|
||||||
|
for (SystemAuthPerm systemAuthPerm : permList) {
|
||||||
|
menuIds.add(systemAuthPerm.getMenuId());
|
||||||
|
}
|
||||||
|
|
||||||
|
List<SystemAuthMenu> systemAuthMenus = systemAuthMenuMapper.selectList(
|
||||||
|
new QueryWrapper<SystemAuthMenu>()
|
||||||
|
.select("id,perms")
|
||||||
|
.eq("is_disable", 0)
|
||||||
|
.in("id", menuIds)
|
||||||
|
.in("menu_type", Arrays.asList("C", "A"))
|
||||||
|
.orderByAsc(Arrays.asList("menu_sort", "id")));
|
||||||
|
|
||||||
|
for (SystemAuthMenu item : systemAuthMenus) {
|
||||||
|
if (StringUtils.isNotNull(item.getPerms()) && StringUtils.isNotEmpty(item.getPerms())) {
|
||||||
|
perms.add(item.getPerms().trim());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return perms;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回一个账号所拥有的角色标识集合
|
||||||
|
*
|
||||||
|
* @param loginId 登录ID
|
||||||
|
* @param loginType 登录类型
|
||||||
|
* @return List<String>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<String> getRoleList(Object loginId, String loginType) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.mdd.admin.controller;
|
package com.mdd.admin.controller;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.service.IAlbumsService;
|
import com.mdd.admin.service.IAlbumsService;
|
||||||
import com.mdd.admin.validate.AlbumCateValidate;
|
import com.mdd.admin.validate.AlbumCateValidate;
|
||||||
import com.mdd.admin.validate.AlbumMoveValidate;
|
import com.mdd.admin.validate.AlbumMoveValidate;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.mdd.admin.controller;
|
package com.mdd.admin.controller;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.IArtCateService;
|
import com.mdd.admin.service.IArtCateService;
|
||||||
import com.mdd.admin.validate.ArtCateCreateValidate;
|
import com.mdd.admin.validate.ArtCateCreateValidate;
|
||||||
import com.mdd.admin.validate.ArtCateUpdateValidate;
|
import com.mdd.admin.validate.ArtCateUpdateValidate;
|
||||||
|
|
@ -33,6 +34,7 @@ public class ArtCateController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<List<ArticleCateVo>>
|
* @return AjaxResult<List<ArticleCateVo>>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
public AjaxResult<List<ArticleCateVo>> all() {
|
public AjaxResult<List<ArticleCateVo>> all() {
|
||||||
List<ArticleCateVo> list = iArtCateService.all();
|
List<ArticleCateVo> list = iArtCateService.all();
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.mdd.admin.controller;
|
package com.mdd.admin.controller;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.service.IArticleService;
|
import com.mdd.admin.service.IArticleService;
|
||||||
import com.mdd.admin.validate.ArticleCreateValidate;
|
import com.mdd.admin.validate.ArticleCreateValidate;
|
||||||
import com.mdd.admin.validate.ArticleSearchValidate;
|
import com.mdd.admin.validate.ArticleSearchValidate;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.mdd.admin.controller;
|
package com.mdd.admin.controller;
|
||||||
|
|
||||||
|
import com.mdd.common.aop.NotLogin;
|
||||||
import com.mdd.admin.service.IIndexService;
|
import com.mdd.admin.service.IIndexService;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
@ -39,6 +40,7 @@ public class IndexController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<Map<String, Object>
|
* @return AjaxResult<Map<String, Object>
|
||||||
*/
|
*/
|
||||||
|
@NotLogin
|
||||||
@GetMapping("/config")
|
@GetMapping("/config")
|
||||||
public AjaxResult<Map<String, Object>> config() {
|
public AjaxResult<Map<String, Object>> config() {
|
||||||
Map<String, Object> map = iIndexService.config();
|
Map<String, Object> map = iIndexService.config();
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.mdd.admin.controller;
|
package com.mdd.admin.controller;
|
||||||
|
|
||||||
import com.mdd.admin.LikeAdminThreadLocal;
|
import com.mdd.admin.LikeAdminThreadLocal;
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.config.aop.RequestType;
|
import com.mdd.admin.aop.aspect.RequestType;
|
||||||
import com.mdd.admin.service.IAlbumsService;
|
import com.mdd.admin.service.IAlbumsService;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
import com.mdd.common.enums.AlbumEnum;
|
import com.mdd.common.enums.AlbumEnum;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.mdd.admin.controller.channel;
|
package com.mdd.admin.controller.channel;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.service.IChannelH5ConfigService;
|
import com.mdd.admin.service.IChannelH5ConfigService;
|
||||||
import com.mdd.admin.validate.channel.ChannelH5Validate;
|
import com.mdd.admin.validate.channel.ChannelH5Validate;
|
||||||
import com.mdd.admin.vo.channel.ChannelH5Vo;
|
import com.mdd.admin.vo.channel.ChannelH5Vo;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.mdd.admin.controller.channel;
|
package com.mdd.admin.controller.channel;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.service.IChannelMpConfigService;
|
import com.mdd.admin.service.IChannelMpConfigService;
|
||||||
import com.mdd.admin.validate.channel.ChannelMpValidate;
|
import com.mdd.admin.validate.channel.ChannelMpValidate;
|
||||||
import com.mdd.admin.vo.channel.ChannelMpVo;
|
import com.mdd.admin.vo.channel.ChannelMpVo;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.mdd.admin.controller.channel;
|
package com.mdd.admin.controller.channel;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.service.IChannelOaConfigService;
|
import com.mdd.admin.service.IChannelOaConfigService;
|
||||||
import com.mdd.admin.validate.channel.ChannelOaValidate;
|
import com.mdd.admin.validate.channel.ChannelOaValidate;
|
||||||
import com.mdd.admin.vo.channel.ChannelOaVo;
|
import com.mdd.admin.vo.channel.ChannelOaVo;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.mdd.admin.controller.decorate;
|
package com.mdd.admin.controller.decorate;
|
||||||
|
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.IDecorateDataService;
|
import com.mdd.admin.service.IDecorateDataService;
|
||||||
import com.mdd.admin.vo.decorate.DecorateDataArticleVo;
|
import com.mdd.admin.vo.decorate.DecorateDataArticleVo;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
|
|
@ -28,6 +29,7 @@ public class DecorateDataController {
|
||||||
* @param limit 条数
|
* @param limit 条数
|
||||||
* @return AjaxResult<List<DecorateDataArticleVo>>
|
* @return AjaxResult<List<DecorateDataArticleVo>>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/article")
|
@GetMapping("/article")
|
||||||
public AjaxResult<List<DecorateDataArticleVo>> article(@RequestParam(defaultValue = "10") Integer limit) {
|
public AjaxResult<List<DecorateDataArticleVo>> article(@RequestParam(defaultValue = "10") Integer limit) {
|
||||||
List<DecorateDataArticleVo> list = iDecorateDataService.article(limit);
|
List<DecorateDataArticleVo> list = iDecorateDataService.article(limit);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.mdd.admin.controller.decorate;
|
package com.mdd.admin.controller.decorate;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.service.IDecoratePageService;
|
import com.mdd.admin.service.IDecoratePageService;
|
||||||
import com.mdd.admin.validate.DecoratePageValidate;
|
import com.mdd.admin.validate.DecoratePageValidate;
|
||||||
import com.mdd.admin.vo.decorate.DecoratePageVo;
|
import com.mdd.admin.vo.decorate.DecoratePageVo;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.mdd.admin.controller.monitor;
|
package com.mdd.admin.controller.monitor;
|
||||||
|
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
import com.mdd.common.util.StringUtils;
|
import com.mdd.common.util.StringUtils;
|
||||||
import org.springframework.data.redis.connection.RedisServerCommands;
|
import org.springframework.data.redis.connection.RedisServerCommands;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.mdd.admin.controller.monitor;
|
package com.mdd.admin.controller.monitor;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
import com.mdd.common.core.ServerResult;
|
import com.mdd.common.core.ServerResult;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.mdd.admin.controller.setting;
|
package com.mdd.admin.controller.setting;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISettingDictDataService;
|
import com.mdd.admin.service.ISettingDictDataService;
|
||||||
import com.mdd.admin.validate.commons.IdsValidate;
|
import com.mdd.admin.validate.commons.IdsValidate;
|
||||||
import com.mdd.admin.validate.commons.PageValidate;
|
import com.mdd.admin.validate.commons.PageValidate;
|
||||||
|
|
@ -35,6 +36,7 @@ public class SettingDictDataController {
|
||||||
* @param params 参数
|
* @param params 参数
|
||||||
* @return jaxResult<List<SettingDictDataVo>>
|
* @return jaxResult<List<SettingDictDataVo>>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
public AjaxResult<List<SettingDictDataVo>> all(@RequestParam Map<String, String> params) {
|
public AjaxResult<List<SettingDictDataVo>> all(@RequestParam Map<String, String> params) {
|
||||||
Assert.isFalse(StringUtils.isEmpty(params.get("dictType")), "dictType缺失");
|
Assert.isFalse(StringUtils.isEmpty(params.get("dictType")), "dictType缺失");
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.mdd.admin.controller.setting;
|
package com.mdd.admin.controller.setting;
|
||||||
|
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISettingDictTypeService;
|
import com.mdd.admin.service.ISettingDictTypeService;
|
||||||
import com.mdd.admin.validate.commons.IdsValidate;
|
import com.mdd.admin.validate.commons.IdsValidate;
|
||||||
import com.mdd.admin.validate.commons.PageValidate;
|
import com.mdd.admin.validate.commons.PageValidate;
|
||||||
|
|
@ -32,6 +33,7 @@ public class SettingDictTypeController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<List<SettingDictTypeVo>>
|
* @return AjaxResult<List<SettingDictTypeVo>>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
public AjaxResult<List<SettingDictTypeVo>> all() {
|
public AjaxResult<List<SettingDictTypeVo>> all() {
|
||||||
List<SettingDictTypeVo> list = iSettingDictTypeService.all();
|
List<SettingDictTypeVo> list = iSettingDictTypeService.all();
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.mdd.admin.controller.setting;
|
package com.mdd.admin.controller.setting;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
import com.mdd.admin.service.ISettingSmsService;
|
import com.mdd.admin.service.ISettingSmsService;
|
||||||
import com.mdd.common.core.AjaxResult;
|
import com.mdd.common.core.AjaxResult;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
package com.mdd.admin.controller.system;
|
package com.mdd.admin.controller.system;
|
||||||
|
|
||||||
import com.mdd.admin.LikeAdminThreadLocal;
|
import com.mdd.admin.LikeAdminThreadLocal;
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISystemAuthAdminService;
|
import com.mdd.admin.service.ISystemAuthAdminService;
|
||||||
import com.mdd.admin.validate.commons.IdValidate;
|
import com.mdd.admin.validate.commons.IdValidate;
|
||||||
import com.mdd.admin.validate.commons.PageValidate;
|
import com.mdd.admin.validate.commons.PageValidate;
|
||||||
|
|
@ -51,6 +52,7 @@ public class SystemAuthAdminController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<SystemAuthSelfVo>
|
* @return AjaxResult<SystemAuthSelfVo>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/self")
|
@GetMapping("/self")
|
||||||
public AjaxResult<SystemAuthAdminSelvesVo> self() {
|
public AjaxResult<SystemAuthAdminSelvesVo> self() {
|
||||||
Integer adminId = LikeAdminThreadLocal.getAdminId();
|
Integer adminId = LikeAdminThreadLocal.getAdminId();
|
||||||
|
|
@ -106,6 +108,7 @@ public class SystemAuthAdminController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<Object>
|
* @return AjaxResult<Object>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@Log(title = "管理员更新")
|
@Log(title = "管理员更新")
|
||||||
@PostMapping("/upInfo")
|
@PostMapping("/upInfo")
|
||||||
public AjaxResult<Object> upInfo(@Validated @RequestBody SystemAdminUpInfoValidate upInfoValidate) {
|
public AjaxResult<Object> upInfo(@Validated @RequestBody SystemAdminUpInfoValidate upInfoValidate) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.mdd.admin.controller.system;
|
package com.mdd.admin.controller.system;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISystemAuthDeptService;
|
import com.mdd.admin.service.ISystemAuthDeptService;
|
||||||
import com.mdd.admin.validate.commons.IdValidate;
|
import com.mdd.admin.validate.commons.IdValidate;
|
||||||
import com.mdd.admin.validate.system.SystemDeptCreateValidate;
|
import com.mdd.admin.validate.system.SystemDeptCreateValidate;
|
||||||
|
|
@ -31,6 +32,7 @@ public class SystemAuthDeptController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<List<SystemAuthDeptVo>>
|
* @return AjaxResult<List<SystemAuthDeptVo>>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
public AjaxResult<List<SystemAuthDeptVo>> all() {
|
public AjaxResult<List<SystemAuthDeptVo>> all() {
|
||||||
List<SystemAuthDeptVo> list = iSystemAuthDeptService.all();
|
List<SystemAuthDeptVo> list = iSystemAuthDeptService.all();
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package com.mdd.admin.controller.system;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.mdd.admin.LikeAdminThreadLocal;
|
import com.mdd.admin.LikeAdminThreadLocal;
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISystemAuthMenuService;
|
import com.mdd.admin.service.ISystemAuthMenuService;
|
||||||
import com.mdd.admin.validate.commons.IdValidate;
|
import com.mdd.admin.validate.commons.IdValidate;
|
||||||
import com.mdd.admin.validate.system.SystemMenuCreateValidate;
|
import com.mdd.admin.validate.system.SystemMenuCreateValidate;
|
||||||
|
|
@ -32,9 +33,10 @@ public class SystemAuthMenuController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<JSONArray>
|
* @return AjaxResult<JSONArray>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/route")
|
@GetMapping("/route")
|
||||||
public AjaxResult<JSONArray> route() {
|
public AjaxResult<JSONArray> route() {
|
||||||
List<Integer> roleIds = LikeAdminThreadLocal.getRoleId();
|
List<Integer> roleIds = LikeAdminThreadLocal.getRoleIds();
|
||||||
JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(roleIds);
|
JSONArray lists = iSystemAuthMenuService.selectMenuByRoleId(roleIds);
|
||||||
return AjaxResult.success(lists);
|
return AjaxResult.success(lists);
|
||||||
}
|
}
|
||||||
|
|
@ -45,6 +47,7 @@ public class SystemAuthMenuController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<JSONArray>
|
* @return AjaxResult<JSONArray>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public AjaxResult<JSONArray> list() {
|
public AjaxResult<JSONArray> list() {
|
||||||
JSONArray lists = iSystemAuthMenuService.list();
|
JSONArray lists = iSystemAuthMenuService.list();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.mdd.admin.controller.system;
|
package com.mdd.admin.controller.system;
|
||||||
|
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISystemAuthPostService;
|
import com.mdd.admin.service.ISystemAuthPostService;
|
||||||
import com.mdd.admin.validate.commons.IdValidate;
|
import com.mdd.admin.validate.commons.IdValidate;
|
||||||
import com.mdd.admin.validate.commons.PageValidate;
|
import com.mdd.admin.validate.commons.PageValidate;
|
||||||
|
|
@ -32,6 +33,7 @@ public class SystemAuthPostController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<List<SystemAuthPostVo>>
|
* @return AjaxResult<List<SystemAuthPostVo>>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
public AjaxResult<List<SystemAuthPostVo>> all() {
|
public AjaxResult<List<SystemAuthPostVo>> all() {
|
||||||
List<SystemAuthPostVo> list = iSystemAuthPostService.all();
|
List<SystemAuthPostVo> list = iSystemAuthPostService.all();
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.mdd.admin.controller.system;
|
package com.mdd.admin.controller.system;
|
||||||
|
|
||||||
import com.mdd.admin.config.aop.Log;
|
import com.mdd.admin.aop.Log;
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISystemAuthRoleService;
|
import com.mdd.admin.service.ISystemAuthRoleService;
|
||||||
import com.mdd.admin.validate.commons.IdValidate;
|
import com.mdd.admin.validate.commons.IdValidate;
|
||||||
import com.mdd.admin.validate.commons.PageValidate;
|
import com.mdd.admin.validate.commons.PageValidate;
|
||||||
|
|
@ -15,7 +16,6 @@ import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统角色管理
|
* 系统角色管理
|
||||||
|
|
@ -33,6 +33,7 @@ public class SystemAuthRoleController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<List<SystemAuthRoleVo>>
|
* @return AjaxResult<List<SystemAuthRoleVo>>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
public AjaxResult<List<SystemAuthRoleVo>> all() {
|
public AjaxResult<List<SystemAuthRoleVo>> all() {
|
||||||
List<SystemAuthRoleVo> list = iSystemAuthRoleService.all();
|
List<SystemAuthRoleVo> list = iSystemAuthRoleService.all();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package com.mdd.admin.controller.system;
|
package com.mdd.admin.controller.system;
|
||||||
|
|
||||||
|
import com.mdd.common.aop.NotLogin;
|
||||||
|
import com.mdd.common.aop.NotPower;
|
||||||
import com.mdd.admin.service.ISystemLoginService;
|
import com.mdd.admin.service.ISystemLoginService;
|
||||||
import com.mdd.admin.validate.system.SystemAdminLoginsValidate;
|
import com.mdd.admin.validate.system.SystemAdminLoginsValidate;
|
||||||
import com.mdd.admin.vo.system.SystemCaptchaVo;
|
import com.mdd.admin.vo.system.SystemCaptchaVo;
|
||||||
|
|
@ -27,6 +29,7 @@ public class SystemLoginController {
|
||||||
* @author fzr
|
* @author fzr
|
||||||
* @return AjaxResult<SystemCaptchaVo>
|
* @return AjaxResult<SystemCaptchaVo>
|
||||||
*/
|
*/
|
||||||
|
@NotLogin
|
||||||
@GetMapping("/captcha")
|
@GetMapping("/captcha")
|
||||||
public AjaxResult<SystemCaptchaVo> captcha() {
|
public AjaxResult<SystemCaptchaVo> captcha() {
|
||||||
SystemCaptchaVo vo = iSystemLoginService.captcha();
|
SystemCaptchaVo vo = iSystemLoginService.captcha();
|
||||||
|
|
@ -40,6 +43,7 @@ public class SystemLoginController {
|
||||||
* @param loginsValidate 登录参数
|
* @param loginsValidate 登录参数
|
||||||
* @return AjaxResult<SystemLoginVo>
|
* @return AjaxResult<SystemLoginVo>
|
||||||
*/
|
*/
|
||||||
|
@NotLogin
|
||||||
@PostMapping("/login")
|
@PostMapping("/login")
|
||||||
public AjaxResult<SystemLoginVo> login(@Validated() @RequestBody SystemAdminLoginsValidate loginsValidate) {
|
public AjaxResult<SystemLoginVo> login(@Validated() @RequestBody SystemAdminLoginsValidate loginsValidate) {
|
||||||
SystemLoginVo vo = iSystemLoginService.login(loginsValidate);
|
SystemLoginVo vo = iSystemLoginService.login(loginsValidate);
|
||||||
|
|
@ -53,6 +57,7 @@ public class SystemLoginController {
|
||||||
* @param request 请求接口
|
* @param request 请求接口
|
||||||
* @return AjaxResult<Object>
|
* @return AjaxResult<Object>
|
||||||
*/
|
*/
|
||||||
|
@NotPower
|
||||||
@PostMapping("/logout")
|
@PostMapping("/logout")
|
||||||
public AjaxResult<Object> logout(HttpServletRequest request) {
|
public AjaxResult<Object> logout(HttpServletRequest request) {
|
||||||
iSystemLoginService.logout(request.getHeader("token"));
|
iSystemLoginService.logout(request.getHeader("token"));
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import com.mdd.admin.vo.system.SystemAuthAdminDetailVo;
|
||||||
import com.mdd.admin.vo.system.SystemAuthAdminListedVo;
|
import com.mdd.admin.vo.system.SystemAuthAdminListedVo;
|
||||||
import com.mdd.admin.vo.system.SystemAuthAdminSelvesVo;
|
import com.mdd.admin.vo.system.SystemAuthAdminSelvesVo;
|
||||||
import com.mdd.common.core.PageResult;
|
import com.mdd.common.core.PageResult;
|
||||||
import com.mdd.common.entity.system.SystemAuthAdmin;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统管理员服务接口类
|
* 系统管理员服务接口类
|
||||||
|
|
@ -86,9 +85,4 @@ public interface ISystemAuthAdminService {
|
||||||
*/
|
*/
|
||||||
void disable(Integer id, Integer adminId);
|
void disable(Integer id, Integer adminId);
|
||||||
|
|
||||||
/**
|
|
||||||
* 缓存管理员
|
|
||||||
*/
|
|
||||||
void cacheAdminUserByUid(Integer id);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,12 +40,4 @@ public interface ISystemAuthPermService {
|
||||||
*/
|
*/
|
||||||
void batchDeleteByMenuId(Integer menuId);
|
void batchDeleteByMenuId(Integer menuId);
|
||||||
|
|
||||||
/**
|
|
||||||
* 缓存角色菜单
|
|
||||||
*
|
|
||||||
* @author fzr
|
|
||||||
* @param roleId 角色ID
|
|
||||||
*/
|
|
||||||
void cacheRoleMenusByRoleId(Integer roleId);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,11 @@
|
||||||
package com.mdd.admin.service.impl;
|
package com.mdd.admin.service.impl;
|
||||||
|
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.alibaba.fastjson2.JSON;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.github.yulichang.query.MPJQueryWrapper;
|
import com.github.yulichang.query.MPJQueryWrapper;
|
||||||
import com.mdd.admin.config.AdminConfig;
|
|
||||||
import com.mdd.admin.service.ISystemAuthAdminService;
|
import com.mdd.admin.service.ISystemAuthAdminService;
|
||||||
import com.mdd.admin.service.ISystemAuthPermService;
|
import com.mdd.admin.service.ISystemAuthPermService;
|
||||||
import com.mdd.admin.validate.commons.PageValidate;
|
import com.mdd.admin.validate.commons.PageValidate;
|
||||||
|
|
@ -330,8 +328,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
|
||||||
}
|
}
|
||||||
|
|
||||||
systemAuthAdminMapper.updateById(model);
|
systemAuthAdminMapper.updateById(model);
|
||||||
this.cacheAdminUserByUid(updateValidate.getId());
|
|
||||||
|
|
||||||
if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) {
|
if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) {
|
||||||
StpUtil.kickout(updateValidate.getId());
|
StpUtil.kickout(updateValidate.getId());
|
||||||
}
|
}
|
||||||
|
|
@ -371,8 +367,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
|
||||||
}
|
}
|
||||||
|
|
||||||
systemAuthAdminMapper.updateById(model);
|
systemAuthAdminMapper.updateById(model);
|
||||||
this.cacheAdminUserByUid(adminId);
|
|
||||||
|
|
||||||
if (StringUtils.isNotNull(upInfoValidate.getPassword()) && StringUtils.isNotEmpty(upInfoValidate.getPassword())) {
|
if (StringUtils.isNotNull(upInfoValidate.getPassword()) && StringUtils.isNotEmpty(upInfoValidate.getPassword())) {
|
||||||
StpUtil.kickout(adminId);
|
StpUtil.kickout(adminId);
|
||||||
}
|
}
|
||||||
|
|
@ -402,7 +396,6 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
|
||||||
model.setIsDelete(1);
|
model.setIsDelete(1);
|
||||||
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
model.setDeleteTime(System.currentTimeMillis() / 1000);
|
||||||
systemAuthAdminMapper.updateById(model);
|
systemAuthAdminMapper.updateById(model);
|
||||||
this.cacheAdminUserByUid(id);
|
|
||||||
|
|
||||||
StpUtil.kickout(id);
|
StpUtil.kickout(id);
|
||||||
}
|
}
|
||||||
|
|
@ -429,37 +422,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
|
||||||
systemAuthAdmin.setIsDisable(disable);
|
systemAuthAdmin.setIsDisable(disable);
|
||||||
systemAuthAdmin.setUpdateTime(TimeUtils.timestamp());
|
systemAuthAdmin.setUpdateTime(TimeUtils.timestamp());
|
||||||
systemAuthAdminMapper.updateById(systemAuthAdmin);
|
systemAuthAdminMapper.updateById(systemAuthAdmin);
|
||||||
this.cacheAdminUserByUid(id);
|
|
||||||
|
|
||||||
if (disable.equals(1)) {
|
if (disable.equals(1)) {
|
||||||
StpUtil.kickout(id);
|
StpUtil.kickout(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 缓存管理员
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void cacheAdminUserByUid(Integer id) {
|
|
||||||
SystemAuthAdmin sysAdmin = systemAuthAdminMapper.selectOne(
|
|
||||||
new QueryWrapper<SystemAuthAdmin>()
|
|
||||||
.select("id,role_ids,username,nickname,is_multipoint,is_disable,is_delete")
|
|
||||||
.eq("id", id)
|
|
||||||
.last("limit 1"));
|
|
||||||
|
|
||||||
Map<String, Object> user = new LinkedHashMap<>();
|
|
||||||
user.put("id", sysAdmin.getId());
|
|
||||||
user.put("roleIds", sysAdmin.getRoleIds());
|
|
||||||
user.put("username", sysAdmin.getUsername());
|
|
||||||
user.put("nickname", sysAdmin.getNickname());
|
|
||||||
user.put("isMultipoint", sysAdmin.getIsMultipoint());
|
|
||||||
user.put("isDisable", sysAdmin.getIsDisable());
|
|
||||||
user.put("isDelete", sysAdmin.getIsDelete());
|
|
||||||
|
|
||||||
Map<String, Object> map = new LinkedHashMap<>();
|
|
||||||
map.put(String.valueOf(sysAdmin.getId()), JSON.toJSONString(user));
|
|
||||||
|
|
||||||
RedisUtils.hmSet(AdminConfig.backstageManageKey, map);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -148,8 +148,6 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService {
|
||||||
model.setCreateTime(System.currentTimeMillis() / 1000);
|
model.setCreateTime(System.currentTimeMillis() / 1000);
|
||||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
systemAuthMenuMapper.insert(model);
|
systemAuthMenuMapper.insert(model);
|
||||||
|
|
||||||
RedisUtils.del(AdminConfig.backstageRolesKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -178,8 +176,6 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService {
|
||||||
model.setIsDisable(updateValidate.getIsDisable());
|
model.setIsDisable(updateValidate.getIsDisable());
|
||||||
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
model.setUpdateTime(System.currentTimeMillis() / 1000);
|
||||||
systemAuthMenuMapper.updateById(model);
|
systemAuthMenuMapper.updateById(model);
|
||||||
|
|
||||||
RedisUtils.del(AdminConfig.backstageRolesKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -205,8 +201,6 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService {
|
||||||
|
|
||||||
systemAuthMenuMapper.deleteById(id);
|
systemAuthMenuMapper.deleteById(id);
|
||||||
iSystemAuthPermService.batchDeleteByMenuId(id);
|
iSystemAuthPermService.batchDeleteByMenuId(id);
|
||||||
|
|
||||||
RedisUtils.del(AdminConfig.backstageRolesKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -111,39 +111,4 @@ public class SystemAuthPermServiceImpl implements ISystemAuthPermService {
|
||||||
systemAuthPermMapper.delete(new QueryWrapper<SystemAuthPerm>().eq("menu_id", menuId));
|
systemAuthPermMapper.delete(new QueryWrapper<SystemAuthPerm>().eq("menu_id", menuId));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 缓存角色菜单
|
|
||||||
*
|
|
||||||
* @author fzr
|
|
||||||
* @param roleId 角色ID
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void cacheRoleMenusByRoleId(Integer roleId) {
|
|
||||||
List<Integer> menuIds = new LinkedList<>();
|
|
||||||
List<String> menuArray = new LinkedList<>();
|
|
||||||
|
|
||||||
List<SystemAuthPerm> systemAuthPerms = systemAuthPermMapper.selectList(
|
|
||||||
new QueryWrapper<SystemAuthPerm>().eq("role_id", roleId));
|
|
||||||
for (SystemAuthPerm systemAuthPerm : systemAuthPerms) {
|
|
||||||
menuIds.add(systemAuthPerm.getMenuId());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (menuIds.size() > 0) {
|
|
||||||
List<SystemAuthMenu> systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper<SystemAuthMenu>()
|
|
||||||
.select("id,perms")
|
|
||||||
.eq("is_disable", 0)
|
|
||||||
.in("id", menuIds)
|
|
||||||
.in("menu_type", Arrays.asList("C", "A"))
|
|
||||||
.orderByAsc(Arrays.asList("menu_sort", "id")));
|
|
||||||
|
|
||||||
for (SystemAuthMenu item : systemAuthMenus) {
|
|
||||||
if (StringUtils.isNotNull(item.getPerms()) && StringUtils.isNotEmpty(item.getPerms())) {
|
|
||||||
menuArray.add(item.getPerms().trim());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RedisUtils.hSet(AdminConfig.backstageRolesKey, String.valueOf(roleId), ArrayUtils.listToStringByStr(menuArray, ","));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.mdd.admin.config.AdminConfig;
|
|
||||||
import com.mdd.admin.service.ISystemAuthPermService;
|
import com.mdd.admin.service.ISystemAuthPermService;
|
||||||
import com.mdd.admin.service.ISystemAuthRoleService;
|
import com.mdd.admin.service.ISystemAuthRoleService;
|
||||||
import com.mdd.admin.validate.commons.PageValidate;
|
import com.mdd.admin.validate.commons.PageValidate;
|
||||||
|
|
@ -16,7 +15,6 @@ import com.mdd.common.entity.system.SystemAuthAdmin;
|
||||||
import com.mdd.common.entity.system.SystemAuthRole;
|
import com.mdd.common.entity.system.SystemAuthRole;
|
||||||
import com.mdd.common.mapper.system.SystemAuthAdminMapper;
|
import com.mdd.common.mapper.system.SystemAuthAdminMapper;
|
||||||
import com.mdd.common.mapper.system.SystemAuthRoleMapper;
|
import com.mdd.common.mapper.system.SystemAuthRoleMapper;
|
||||||
import com.mdd.common.util.RedisUtils;
|
|
||||||
import com.mdd.common.util.TimeUtils;
|
import com.mdd.common.util.TimeUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -192,7 +190,6 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService {
|
||||||
|
|
||||||
iSystemAuthPermService.batchDeleteByRoleId(updateValidate.getId());
|
iSystemAuthPermService.batchDeleteByRoleId(updateValidate.getId());
|
||||||
iSystemAuthPermService.batchSaveByMenuIds(updateValidate.getId(), updateValidate.getMenuIds());
|
iSystemAuthPermService.batchSaveByMenuIds(updateValidate.getId(), updateValidate.getMenuIds());
|
||||||
RedisUtils.del(AdminConfig.backstageRolesKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -219,7 +216,6 @@ public class SystemAuthRoleServiceImpl implements ISystemAuthRoleService {
|
||||||
|
|
||||||
systemAuthRoleMapper.deleteById(id);
|
systemAuthRoleMapper.deleteById(id);
|
||||||
iSystemAuthPermService.batchDeleteByRoleId(id);
|
iSystemAuthPermService.batchDeleteByRoleId(id);
|
||||||
RedisUtils.del(AdminConfig.backstageRolesKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,6 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
|
||||||
|
|
||||||
// 记录登录日志
|
// 记录登录日志
|
||||||
this.recordLoginLog(sysAdmin.getId(), loginsValidate.getUsername(), "");
|
this.recordLoginLog(sysAdmin.getId(), loginsValidate.getUsername(), "");
|
||||||
iSystemAuthAdminService.cacheAdminUserByUid(sysAdmin.getId());
|
|
||||||
|
|
||||||
// 响应登录信息
|
// 响应登录信息
|
||||||
SystemLoginVo vo = new SystemLoginVo();
|
SystemLoginVo vo = new SystemLoginVo();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.mdd.common.aop;
|
||||||
|
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 免登录校验注解类
|
||||||
|
*/
|
||||||
|
@Target({ElementType.METHOD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Documented
|
||||||
|
public @interface NotLogin {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.mdd.common.aop;
|
||||||
|
|
||||||
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 免权限校验注解类
|
||||||
|
*/
|
||||||
|
@Target({ElementType.METHOD})
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Documented
|
||||||
|
public @interface NotPower {
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue