[关闭]
@attack666 2021-03-11T10:24:33.000000Z 字数 1274 阅读 623

需求2——account info接口迁移

目前的逻辑是这样的

第一步:根据request中的token信息获取userid
第二步:userService获取到id信息
注意这里有个问题,就是store/fission/o2o/infra/utils/JWTUtils.java现在的jwt中没有加载userid这一项,所以还需要改动一下(之前的jwt代码在src/main/java/cn/enilu/flash/security/JwtUtil.java)
第三步:利用shiroUser这个类来做桥梁,获取用户角色列表(t_sys_role)
第四步:装载到map中返回

问题1:上面
问题2:现在没有用户角色表,需要重新设计一个
问题3:导航栏是根据返回的信息动态生成的,所以不能说直接把前端权限放开
问题4:目前后端的数据库表和之前的角色管理方面很不一样,所以不是很好迁移,要慢慢重写

  1. @RequestMapping(value = "/info", method = RequestMethod.GET)
  2. public Object info(HttpServletRequest request) {
  3. Long idUser = null;
  4. try {
  5. idUser = getIdUser(request);
  6. } catch (Exception e) {
  7. return Rets.expire();
  8. }
  9. if (idUser != null) {
  10. User user = userService.get(idUser);
  11. if (StringUtil.isEmpty(user.getRoleid())) {
  12. return Rets.failure("该用户未配置权限");
  13. }
  14. ShiroUser shiroUser = ShiroFactory.me().shiroUser(user);
  15. Map<String, Object> map = Maps.newHashMap("name", user.getName(), "role", "admin", "roles", shiroUser.getRoleCodes());
  16. List menus = menuService.getMenusByRoleIds(shiroUser.getRoleList());
  17. map.put("menus", menus);
  18. map.put("permissions", shiroUser.getUrls());
  19. Map profile = (Map) Mapl.toMaplist(user);
  20. profile.put("dept", shiroUser.getDeptName());
  21. profile.put("roles", shiroUser.getRoleNames());
  22. map.put("profile", profile);
  23. return Rets.success(map);
  24. }
  25. return Rets.failure("获取用户信息失败");
  26. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注