From f4499162c0f08cf0250d4856d36693e00b9fe6e5 Mon Sep 17 00:00:00 2001 From: zhangmeng <1334717033@qq.com> Date: Fri, 5 Nov 2021 18:36:40 +0800 Subject: [PATCH] =?UTF-8?q?update=202021=E5=B9=B411=E6=9C=884=E6=97=A518:3?= =?UTF-8?q?3:20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/controller/RequestController.java | 30 +++++++- .../admin/manager/utils/UserUtil.java | 27 +++++++ .../static/system/admin/js/mystyle-admin.js | 1 + .../system/component/pear/module/menu.js | 9 +-- .../system/component/pear/module/tab.js | 2 +- .../static/system/config/pear.config.yml | 4 +- .../resources/templates/admin/article/add.ftl | 1 + .../main/resources/templates/admin/index.ftl | 12 ++-- mystyle-cloud-gateway/pom.xml | 31 ++++---- .../feign/FeignOauth2RequestInterceptor.java | 50 ------------- .../gateway/filter/AuthorizeFilter.java | 70 ++++++++++++------- .../com/zhangmeng/model/bean/TokenTools.java | 68 ++++++++++++++++++ 12 files changed, 197 insertions(+), 108 deletions(-) create mode 100644 mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/utils/UserUtil.java delete mode 100644 mystyle-cloud-gateway/src/main/java/com/zhangmeng/gateway/feign/FeignOauth2RequestInterceptor.java create mode 100644 mystyle-cloud-model/src/main/java/com/zhangmeng/model/bean/TokenTools.java diff --git a/mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/controller/RequestController.java b/mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/controller/RequestController.java index c7395f9..0cfde13 100644 --- a/mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/controller/RequestController.java +++ b/mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/controller/RequestController.java @@ -1,30 +1,54 @@ package com.zhangmeng.admin.manager.controller; +import com.zhangmeng.admin.manager.service.PermissionService; +import com.zhangmeng.admin.manager.utils.UserUtil; import com.zhangmeng.model.base.baseController.BaseController; +import com.zhangmeng.model.dto.Menu; +import com.zhangmeng.model.entity.Permission; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; +import java.util.List; +import java.util.UUID; + /** * 页面请求 * * @author zhangmeng - * @date 2021年11月4日14:18:48 * @version 1.0 + * @date 2021年11月4日14:18:48 */ @Controller public class RequestController extends BaseController { + @Autowired + private UserUtil userUtil; + + @Autowired + private PermissionService permissionService; + //登录 @RequestMapping("/login") - public ModelAndView login (){ + public ModelAndView login() { return this.jumpPage("admin/login"); } //首页 @RequestMapping("/admin/index") - public ModelAndView index (){ + public ModelAndView index(Model model) { + String uuid = UUID.randomUUID().toString(); + model.addAttribute("uuid", uuid); + model.addAttribute("loginUser", this.userUtil.currentUser()); return this.jumpPage("admin/index"); } + + @GetMapping("/user/menuList") + public List permissionList() { + List permissions = this.permissionService.findByUserId(this.userUtil.currentUser().getId()); + return this.permissionService.toUserMenus(permissions, 0L); + } } diff --git a/mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/utils/UserUtil.java b/mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/utils/UserUtil.java new file mode 100644 index 0000000..075a1e2 --- /dev/null +++ b/mystyle-cloud-admin-manager/src/main/java/com/zhangmeng/admin/manager/utils/UserUtil.java @@ -0,0 +1,27 @@ +package com.zhangmeng.admin.manager.utils; + +import com.zhangmeng.model.bean.TokenTools; +import com.zhangmeng.model.entity.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import com.zhangmeng.admin.manager.service.UserService; +import java.util.Map; + +@Component +public class UserUtil { + + @Autowired + private TokenTools tokenTools; + + @Autowired + private UserService userService; + + public User currentUser() { + Map userInfo = this.tokenTools.getUserInfo(); + return this.userService.loadUserByUsername(userInfo.get("username").toString()); + } + + public Map claims(){ + return this.tokenTools.getUserInfo(); + } +} diff --git a/mystyle-cloud-admin-manager/src/main/resources/static/system/admin/js/mystyle-admin.js b/mystyle-cloud-admin-manager/src/main/resources/static/system/admin/js/mystyle-admin.js index aad12f2..afdc8cb 100644 --- a/mystyle-cloud-admin-manager/src/main/resources/static/system/admin/js/mystyle-admin.js +++ b/mystyle-cloud-admin-manager/src/main/resources/static/system/admin/js/mystyle-admin.js @@ -3,6 +3,7 @@ function postToPage(url, token) { f.style.display = 'none'; f.action = url; f.method = 'post'; + f.enctype ='application/x-www-form-urlencoded'; f.innerHTML = ''; document.body.appendChild(f); f.submit(); diff --git a/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/menu.js b/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/menu.js index 0113ae7..4823d50 100644 --- a/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/menu.js +++ b/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/menu.js @@ -59,7 +59,7 @@ layui.define(['table', 'jquery', 'element'], function(exports) { menuTitle: dom.attr("menu-title"), menuPath: dom.attr("menu-title"), menuIcon: dom.attr("menu-icon"), - menuUrl: dom.attr("menu-url") + "?token=" + localStorage.getItem("token"), + menuUrl: dom.attr("menu-url") + "?Authorization=" + localStorage.getItem("Authorization"), openType: dom.attr("open-type") }; var doms = hash(dom); @@ -164,7 +164,8 @@ layui.define(['table', 'jquery', 'element'], function(exports) { function getData(url) { var defer = $.Deferred(); - $.get(url + "?token="+localStorage.getItem("token")+"&fresh=" + Math.random(), function(result) { + $.setRequestHeader('Authorization',localStorage.getItem("Authorization")); + $.get(url + "?access_token="+localStorage.getItem("Authorization")+"&fresh=" + Math.random(), function(result) { defer.resolve(result) }); return defer.promise(); @@ -172,9 +173,9 @@ layui.define(['table', 'jquery', 'element'], function(exports) { function postData(url) { var defer = $.Deferred(); - $.post(url + "?token="+localStorage.getItem("token")+"&fresh=" + Math.random(), function(result) { + $.post(url + "?access_token="+localStorage.getItem("Authorization")+"&fresh=" + Math.random(), function(result) { defer.resolve(result) - }); + },); return defer.promise(); } diff --git a/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/tab.js b/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/tab.js index 733352b..0e3c02f 100644 --- a/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/tab.js +++ b/mystyle-cloud-admin-manager/src/main/resources/static/system/component/pear/module/tab.js @@ -470,7 +470,7 @@ layui.define(['jquery', 'element'], function(exports) { TitleItem += ''; title += TitleItem; - var token = localStorage.getItem("token"); + var token = localStorage.getItem("Authorization"); if (option.index == index) { // 处 理 显 示 内 容 diff --git a/mystyle-cloud-admin-manager/src/main/resources/static/system/config/pear.config.yml b/mystyle-cloud-admin-manager/src/main/resources/static/system/config/pear.config.yml index 33b6fbc..9ed8c17 100644 --- a/mystyle-cloud-admin-manager/src/main/resources/static/system/config/pear.config.yml +++ b/mystyle-cloud-admin-manager/src/main/resources/static/system/config/pear.config.yml @@ -4,11 +4,11 @@ logo: ## 网站名称 title: "MY Style" ## 网站图标 - image: "/system/admin/images/logo.png" + image: "/mystyle-cloud-admin-manager/system/admin/images/logo.png" ## 菜单配置 menu: ## 菜单数据来源 - data: "/user/menuList" + data: "/mystyle-cloud-admin-manager/user/menuList" ## 菜单接口的请求方式 GET / POST method: "GET" ## 是否同时只打开一个菜单目录 diff --git a/mystyle-cloud-admin-manager/src/main/resources/templates/admin/article/add.ftl b/mystyle-cloud-admin-manager/src/main/resources/templates/admin/article/add.ftl index 64f9158..6fdbb03 100644 --- a/mystyle-cloud-admin-manager/src/main/resources/templates/admin/article/add.ftl +++ b/mystyle-cloud-admin-manager/src/main/resources/templates/admin/article/add.ftl @@ -150,6 +150,7 @@ url: '/article/save', data: obj, type: 'post', + data:{} success: function (result) { if (result.flag) { layer.msg(result.message, {icon: 1, time: 1000}, function () { diff --git a/mystyle-cloud-admin-manager/src/main/resources/templates/admin/index.ftl b/mystyle-cloud-admin-manager/src/main/resources/templates/admin/index.ftl index ff5da2b..e1a960c 100644 --- a/mystyle-cloud-admin-manager/src/main/resources/templates/admin/index.ftl +++ b/mystyle-cloud-admin-manager/src/main/resources/templates/admin/index.ftl @@ -10,6 +10,10 @@ + + + + @@ -32,7 +36,7 @@ <#if loginUser.avatar??> - + <#else > @@ -78,9 +82,7 @@ - - - +