提交 d7bd1e2c 编写于 作者: K keyinghao

提交

上级 5382e21f
......@@ -7,8 +7,10 @@ import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import java.util.concurrent.TimeUnit;
......@@ -33,6 +35,7 @@ import com.roncoo.education.util.enums.RedisPreEnum;
import com.roncoo.education.util.enums.ResultEnum;
import com.roncoo.education.util.tools.JSONUtil;
import com.roncoo.education.util.tools.JWTUtil;
import com.xiaoleilu.hutool.util.CollectionUtil;
/**
* 请求开始前执行
......@@ -93,8 +96,9 @@ public class FilterPre extends ZuulFilter {
}
String tk = stringRedisTemplate.opsForValue().get(RedisPreEnum.ADMINI_MENU.getCode().concat(userNo.toString()));
logger.info("用户菜单集合" + tk);
List<SysMenuVO> list = JSONUtil.parseArray(tk, SysMenuVO.class);
logger.info("用户菜单集合" + list);
if (!checkUri(uri, tk)) {
throw new BaseException(ResultEnum.MENU_NO);
}
// 更新时间,使用户菜单不过期
stringRedisTemplate.opsForValue().set(RedisPreEnum.ADMINI_MENU.getCode().concat(userNo.toString()), tk, 1, TimeUnit.HOURS);
}
......@@ -222,4 +226,34 @@ public class FilterPre extends ZuulFilter {
return paramMap;
}
private static Boolean checkUri(String uri, String tk) {
Set<String> menuSet = new HashSet<>();
List<SysMenuVO> menuVOList = JSONUtil.parseArray(tk, SysMenuVO.class);
listMenu(menuSet, menuVOList);
if (StringUtils.hasText(uri) && uri.endsWith("/")) {
uri = uri.substring(0, uri.length() - 1);
}
for (String s : menuSet) {
if (s.contains(uri)) {
return true;
}
}
return false;
}
/**
* @param list
* @return
*/
private static void listMenu(Set<String> menuSet, List<SysMenuVO> menuVOList) {
if (CollectionUtil.isNotEmpty(menuVOList)) {
for (SysMenuVO sm : menuVOList) {
if (StringUtils.hasText(sm.getMenuUrl())) {
menuSet.add(sm.getMenuUrl());
}
listMenu(menuSet, sm.getList());
}
}
}
}
......@@ -16,8 +16,8 @@ public enum ResultEnum {
TOKEN_PAST(301, "token过期"), TOKEN_ERROR(302, "token异常"),
// 登录异常
LOGIN_ERROR(303, "登录异常"), REMOTE_ERROR(304, "异地登录"),
MENU_PAST(305, "菜单过期"),
MENU_PAST(305, "菜单过期"), MENU_NO(306, "没此权限,请联系管理员!"),
// 课程异常,4开头
COURSE_SAVE_FAIL(403, "添加失败"), COURSE_UPDATE_FAIL(404, "更新失败"), COURSE_DELETE_FAIL(405, "删除失败"),
......@@ -27,7 +27,8 @@ public enum ResultEnum {
// 用户异常,5开头
LECTURER_REQUISITION_REGISTERED(501, "申请失败!该手机没注册,请先注册账号"), LECTURER_REQUISITION_WAIT(502, "申请失败!该账号已提交申请入驻成为讲师,待审核中,在7个工作日内会有相关人员与您联系确认"), LECTURER_REQUISITION_YET(503, "申请失败!该账号已成为讲师,请直接登录"),
//
USER_SAVE_FAIL(504, "添加失败"), USER_UPDATE_FAIL(505, "更新失败"), LECTURER_REQUISITION_FAIL(506, "申请失败!该账号已提交申请入驻成为讲师,审核不通过,请联系平台管理员"), USER_LECTURER_AUDIT(507, "审核失败"), USER_SEND_FAIL(508, "发送失败"), USER_DELETE_FAIL(509, "删除失败"),
USER_SAVE_FAIL(504, "添加失败"), USER_UPDATE_FAIL(505, "更新失败"), LECTURER_REQUISITION_FAIL(506, "申请失败!该账号已提交申请入驻成为讲师,审核不通过,请联系平台管理员"), USER_LECTURER_AUDIT(507, "审核失败"), USER_SEND_FAIL(508, "发送失败"),
USER_DELETE_FAIL(509, "删除失败"),
// 系統异常,6开头
SYSTEM_SAVE_FAIL(601, "添加失败"), SYSTEM_UPDATE_FAIL(602, "更新失败"), SYSTEM_DELETE_FAIL(603, "删除失败"),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册