SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)

关注公众号【江南一点雨】,专注于 Spring Boot+微服务以及前后端分离等全栈技术,定期视频教程分享,关注后回复 Java ,领取松哥为你精心准备的 Java 干货!


当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异。笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来介绍一下项目中遇到的问题以及我的解决方案,希望这个系列能够给小伙伴一些帮助。本系列文章并不是手把手的教程,主要介绍了核心思路并讲解了核心代码,完整的代码小伙伴们可以在GitHub上star并clone下来研究。另外,原本计划把项目跑起来放到网上供小伙伴们查看,但是之前买服务器为了省钱,内存只有512M,两个应用跑不起来(已经有一个V部落开源项目在运行),因此小伙伴们只能将就看一下下面的截图了,文末有部署教程,部署到本地也可以查看完整效果。

本文我们先不聊具体实现,我先来介绍一下我这个权限管理模块的一个整体架构,以及最终呈现出来的效果。

数据库设计

权限数据库主要包含了五张表,分别是资源表、角色表、用户表、资源角色表、用户角色表,数据库关系模型如下:

这里写图片描述

关于这个表,我说如下几点:

1.hr表是用户表,存放了用户的基本信息。

2.role是角色表,name字段表示角色的英文名称,按照SpringSecurity的规范,将以ROLE_开始,nameZh字段表示角色的中文名称。

3.menu表是一个资源表,该表涉及到的字段有点多,由于我的前端采用了Vue来做,因此当用户登录成功之后,系统将根据用户的角色动态加载需要的模块,所有模块的信息将保存在menu表中,menu表中的path、component、iconCls、keepAlive、requireAuth等字段都是Vue-Router中需要的字段,也就是说menu中的数据到时候会以json的形式返回给前端,再由vue动态更新router,menu中还有一个字段url,表示一个url pattern,即路径匹配规则,假设有一个路径匹配规则为/admin/**,那么当用户在客户端发起一个/admin/user的请求,将被/admin/**拦截到,系统再去查看这个规则对应的角色是哪些,然后再去查看该用户是否具备相应的角色,进而判断该请求是否合法。

下图分别是用户表、角色表以及资源表中的部分数据(数据库脚本可以在文末的项目地址中下载,位置resources/vhr.sql):

这里写图片描述
这里写图片描述
这里写图片描述

整体效果

首先,不同的用户在登录成功之后,根据不同的角色,会看到不同的系统菜单,完整菜单如下:

这里写图片描述

不同用户登录上来之后,可能看到的会有差异,如下:

这里写图片描述

每个用户的角色是由系统管理员进行分配的,系统管理员给用户分配角色的页面如下:

这里写图片描述

系统管理员也可以管理不同角色可以操作的资源,页面如下:

这里写图片描述

其他的删除、搜索等一些琐碎的功能我这里就不再一一介绍了。

项目地址

由于商业协议,原本的项目不能共享给各位小伙伴,因此我专门做了一个开源项目,这个项目的功能整体来说比较多,但是考虑到这个系列的文章主要是向大家介绍权限管理模块,因此其他模块都被我暂时阉割掉了,不过小伙伴们可以放心,权限管理模块的代码一行都没有删除,涉及到权限管理的代码和数据都是完整的,可以直接运行的。小伙伴将以管理员的身份登录到后台系统,登录成功之后,依次点击系统管理->基础信息设置->权限组,即可配置不同角色可以操作的资源;然后依次点击系统管理->操作员管理,即可管理每一位操作员的角色。

项目地址: https://github.com/lenve/vhr

快速部署

1.clone项目到本地git@github.com:lenve/vhr.git

2.数据库脚本放在hrserver项目的resources目录下,在MySQL中执行数据库脚本

3.数据库配置在hrserver项目的resources目录下的application.properties文件中

4.在IntelliJ IDEA中运行hrserver项目

OK,至此,服务端就启动成功了,此时我们直接在地址栏输入http://localhost:8082/index.html即可访问我们的项目,如果要做二次开发,请继续看第五、六步。

5.进入到vuehr目录中,在命令行依次输入如下命令:

# 安装依赖
npm install

# 在 localhost:8080 启动项目
npm run dev

由于我在vuehr项目中已经配置了端口转发,将数据转发到SpringBoot上,因此项目启动之后,在浏览器中输入http://localhost:8080就可以访问我们的前端项目了,所有的请求通过端口转发将数据传到SpringBoot中(注意此时不要关闭SpringBoot项目)。

6.最后可以用WebStorm等工具打开vuehr项目,继续开发,开发完成后,当项目要上线时,依然进入到vuehr目录,然后执行如下命令:

npm run build

该命令执行成功之后,vuehr目录下生成一个dist文件夹,将该文件夹中的两个文件static和index.html拷贝到SpringBoot项目中resources/static/目录下,然后就可以像第4步那样直接访问了。

步骤5中需要大家对NodeJS、NPM等有一定的使用经验,不熟悉的小伙伴可以先自行搜索学习下,推荐Vue官方教程

注意事项

再次强调,这只是一个权限管理功能模块,运行后只有权限管理功能是完整的。小伙伴们在本地部署成功之后,可以修改每一个用户的角色以及每一个角色可以操作的资源,修改成功之后,注销登录,再以被修改的用户身份登录,即可看到菜单变化。

好了,本文我们就先说这么多,从下篇文章开始,我会和小伙伴分享这个效果实现的核心思路,欢迎小伙伴们持续关注。

关注公众号,可以及时接收到最新文章:

这里写图片描述

已标记关键词 清除标记
<div style="color:#444444;"> 适用人群 <p style="color:#666666;"> 所有的IT从业者,尤其适合快速掌握新技术,快速增长工作经验人群,对教育公平,教育公益,教育爱心公益人士 </p> </div> <p> </p> 课程概述 <p> 该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后分离开发。包括图形展示、权限管理、用户管理等功能。 </p> <p> <br /> 【后技术】<br /> 技术 说明<br /> Spring Boot2 MVC框架 开发的一站式解决方案<br /> Spring Security5  认证和授权框架<br /> MyBatisPlus3.3.1  基于 MyBatis 框架的快速研发框架<br /> MyBatisCode工具 生成 MyBatis 相关代码<br /> Jackson 提供了处理 JSON 数据的工具<br /> Lombok 简化对象封装工具 <br /> Druid   数据库连接池  </p> <p> <br /> 【前技术】<br /> Vue        互联网最火的前框架<br /> Vue Router 路由框架<br /> Vuex 全局状态管理框架<br /> Axios 前 HTTP 框架<br /> Element UI 前 UI 框架<br /> Vue Element Admin 前模板<br /> Antv  蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV </p> <p> <br /> 【开发工具】<br /> IntelliJ IDEA 开发 IDE<br /> SQLyog 数据库连接客户<br /> Postman HTTP 请求工具 </p> <p> <br /> 【开发环境】<br /> 工具 版本<br /> JDK 1.8<br /></p><p> MySQL 5.7 </p> <p> <img src="https://img-bss.csdn.net/202004100931037906.png" alt="" /><img src="https://img-bss.csdn.net/202004100931102139.png" alt="" /><img src="https://img-bss.csdn.net/202004100931321943.png" alt="" /></p>
相关推荐
<div style="color:#444444;"> 适用人群 <p style="color:#666666;"> 所有的IT从业者,尤其适合快速掌握新技术,快速增长工作经验人群,对教育公平,教育公益,教育爱心公益人士 </p> </div> <p> </p> 课程概述 <p> 该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后分离开发。包括图形展示、权限管理、用户管理等功能。<br /> 【后技术】<br /> 技术 说明<br /> Spring Boot2 MVC框架 开发的一站式解决方案<br /> Spring Security5  认证和授权框架<br /> MyBatisPlus3.3.1  基于 MyBatis 框架的快速研发框架<br /> MyBatisCode工具 生成 MyBatis 相关代码<br /> Jackson 提供了处理 JSON 数据的工具<br /> Lombok 简化对象封装工具 <br /> Druid   数据库连接池 <br /> 【前技术】<br /> Vue        互联网最火的前框架<br /> Vue Router 路由框架<br /> Vuex 全局状态管理框架<br /> Axios 前 HTTP 框架<br /> Element UI 前 UI 框架<br /> Vue Element Admin 前模板<br /> Antv  蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV<br /> 【开发工具】<br /> IntelliJ IDEA 开发 IDE<br /> SQLyog 数据库连接客户<br /> Postman HTTP 请求工具<br /> 【开发环境】<br /> 工具 版本<br /> JDK 1.8 </p> <p> MySQL 5.7 </p> <p> <img src="https://img-bss.csdn.net/202004100922276928.png" alt="" /><img src="https://img-bss.csdn.net/202004100922434479.png" alt="" /><img src="https://img-bss.csdn.net/202004100922566924.png" alt="" /><img src="https://img-bss.csdn.net/202004100923062693.png" alt="" /></p> <p> <br /></p> <p> <br /></p>
<div style="color:#444444;"> 适用人群 <p style="color:#666666;"> 所有的IT从业者,尤其适合快速掌握新技术,快速增长工作经验人群,对教育公平,教育公益,教育爱心公益人士 </p> </div> <p> <strong>提供完整的课程源代码,前点击视频观看,在右侧的【课件】中下载,所有代码都是线下班级运行很多次额,请放心购买。</strong> </p> 课程概述 <p> 该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Vue Admin Template+蚂蚁可视化AntV 等技术栈开发的项目,采用分布式,多模块,前后分离开发。包括图形展示、权限管理、用户管理等功能。<br /> 【后技术】<br /> 技术 说明<br /> Spring Boot2 MVC框架 开发的一站式解决方案<br /> Spring Security5  认证和授权框架<br /> MyBatisPlus3.3.1  基于 MyBatis 框架的快速研发框架<br /> MyBatisCode工具 生成 MyBatis 相关代码<br /> Jackson 提供了处理 JSON 数据的工具<br /> Lombok 简化对象封装工具 <br /> Druid   数据库连接池  </p> <p> <br /> 【前技术】<br /> Vue        互联网最火的前框架<br /> Vue Router 路由框架<br /> Vuex 全局状态管理框架<br /> Axios 前 HTTP 框架<br /> Element UI 前 UI 框架<br /> Vue Element Admin 前模板 </p> <p> Antv  蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV </p> <p> <br /> </p> 【开发工具】<br /> IntelliJ IDEA 开发 IDE<br /> SQLyog 数据库连接客户<br /> Postman HTTP 请求工具 <p> <br /> 【开发环境】<br /> 工具 版本<br /> JDK 1.8<br /> MySQL 5.7 </p> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/202004100908064292.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/202004100901042498.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/202004100902149146.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/202004100902305627.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/202004100903304413.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/202004100907393190.png" alt="" /><img src="https://img-bss.csdn.net/202004100907503620.png" alt="" /> </p> <p> <br /> </p>
<div> 适用人群 <p> Java开发人员,Vue开发人员,前后分离开发人员,权限管理和配置开发人员 </p> </div> <div> 课程概述 <div style="color:#666666;"> 【讲师介绍】<br /> 讲师职称:<br />               现某知名大型互联网公司资深架构师,技术总监,职业规划师,首席面试官,曾在某上市培训机构,高校任教多年。<br />             Array(Array老师)10多年互联网公司实战经验,知名的大型互联网公司的架构师,高管等职,在企业长期从事于技术的源码阅读和新技术的研究;擅长于职业规划,面试辅导,从事面试官多年;擅长于JAVA,人工智能AI应用,Xmind等等,曾服役于国内某上市培训机构数年,独特的培训思路,培训体系,培训方式,实践的职场技能,职场现状,职场晋升等让你快速适应企业职场的所需。 <br /> 【课程介绍】<br /> 技术选型<br /> 开发环境:Eclipse/Idea ,JDK 1.8以上 <br /> 后技术<br /> 核心框架:SpringBoot2.x框架系列(同样适用Springcloud F版本以后的版本),如下(节选):    <br /> 持久层框架:MyBatis 3.x + Mybatis-plus 3.x<br /> 日志管理:SLF4J 1.7 + Log4j2 2.7<br /> 工具类:Apache Commons、Jackson 、fastjson、Gson<br /> 权限验证<br /> 前技术  <br /> Vue  <br /> Vue-cli<br /> ElementUI ---https://element.eleme.io/<br /> JSX (JavaScript Xml)<br /> 前台的权限验证和路由设置<br /> 开发模式  <br />      前后分离的开发<br /> 数据库 <br />       Mysql5<br /> IDE<br />     Intellij Idea </div> </div>
<div style="color:#444444;"> 适用人群 <p style="color:#666666;"> Java开发人员,Vue开发人员,前后分离开发人员,权限管理和配置开发人员 </p> </div> <div style="color:#444444;"> 课程概述 <div style="color:#666666;"> 【讲师介绍】<br /> 讲师职称:<br />               现某知名大型互联网公司资深架构师,技术总监,职业规划师,首席面试官,曾在某上市培训机构,高校任教多年。<br />             Array(Array老师)10多年互联网公司实战经验,知名的大型互联网公司的架构师,高管等职,在企业长期从事于技术的源码阅读和新技术的研究;擅长于职业规划,面试辅导,从事面试官多年;擅长于JAVA,人工智能AI应用,Xmind等等,曾服役于国内某上市培训机构数年,独特的培训思路,培训体系,培训方式,实践的职场技能,职场现状,职场晋升等让你快速适应企业职场的所需。 <br /> 【课程介绍】<br /> 技术选型<br /> 开发环境:Eclipse/Idea ,JDK 1.8以上 <br /> 后技术<br /> 核心框架:SpringBoot2.x框架系列(同样适用Springcloud F版本以后的版本),如下(节选):    <br /> 持久层框架:MyBatis 3.x + Mybatis-plus 3.x<br /> 日志管理:SLF4J 1.7 + Log4j2 2.7<br /> 工具类:Apache Commons、Jackson 、fastjson、Gson<br /> 权限验证<br /> 前技术  <br /> Vue  <br /> Vue-cli<br /> ElementUI ---https://element.eleme.io/<br /> JSX (JavaScript Xml)<br /> 前台的权限验证和路由设置<br /> 开发模式  <br />      前后分离的开发<br /> 数据库 <br />       Mysql5<br /> IDE<br />     Intellij Idea </div> </div>
<div class="u-ctn-intro j-course-user-box" style="box-sizing: border-box; margin: 0px 0px 40px; padding: 0px; font-family: 'PingFang SC', 'Hiragino Sans GB', Arial, 'Microsoft YaHei', Verdana, Roboto, Noto, 'Helvetica Neue', sans-serif; color: #222226; font-size: 14px; background-color: #ffffff;"> <pre>该互联网实战项目是基于 Spring Boot 2+ SpringSecurity5+Element UI+Ant Design Pro Vue+可视化AntV 等技术栈开发的项目,采用多模块前后分离开发。包括图形展示、权限管理、用户管理等功能,用于研发企业级中后台产品。 【后技术】 技术 说明 Spring Boot2 MVC框架 开发的一站式解决方案 Spring Security5 认证和授权框架 MyBatisPlus3.3.1 基于 MyBatis 框架的快速研发框架 MyBatisCode工具 生成 MyBatis 相关代码 Jackson 提供了处理 JSON 数据的工具 Lombok 简化对象封装工具 Druid 数据库连接池 【前技术】 Vue 互联网最火的前框架 Vue Router 路由框架 Vuex 全局状态管理框架 Axios 前 HTTP 框架 Element UI 前 UI 框架 Ant Design Pro Vue模板 Antv 蚂蚁金服可视化技术,阿里巴巴可视化技术,天猫,淘宝,支付宝,花呗均使用AntV 主要用于研发企业级中后台产品。 特性 提炼自企业级中后台产品的交互语言和视觉风格。 使用 TypeScript 开发,提供完整的类型定义文件。 链路开发和设计工具体系。 【开发工具】 IntelliJ IDEA 开发 IDE SQLyog 数据库连接客户 Postman HTTP 请求工具 【开发环境】 工具 版本 JDK 1.8 MySQL 5.7</pre> </div>
<p> <span style="font-size:16px;">本课程是一门具有很强实践性质的“项目实战”课程,即“</span><span style="font-size:16px;">企业中台系统实战</span><span style="font-size:16px;">”,其中主要包含三大块核心内容,如下图所示(右键可以在新标签页中打开图片放大查看):</span><span></span> </p> <p> <span style="font-size:16px;"><img src="https://img-bss.csdn.net/201912071527496867.jpg" alt="" /><br /> </span> </p> <p style="text-align:center;"> <span style="font-size:16px;"></span> </p> <p> <span style="font-size:16px;">即主要包含以下三大块内容:</span><span><br /> <span style="font-size:16px;"> ① </span></span><span style="font-size:16px;">企业内部应用系统菜单资源和操作权限的统一管理;</span><span></span> </p> <p> <span style="font-size:16px;">② 分布式应用系统通信时的统一授权,即基于</span><span style="font-size:16px;">AccessToken</span><span style="font-size:16px;">的授权与认证;</span><span></span> </p> <p> <span style="font-size:16px;">③ 分布式服务</span><span style="font-size:16px;">/</span><span style="font-size:16px;">系统通信时的两大方式(基于</span><span style="font-size:16px;">dubbo rpc</span><span style="font-size:16px;">协议和基于</span><span style="font-size:16px;">http</span><span style="font-size:16px;">协议的</span><span style="font-size:16px;">restful api</span><span style="font-size:16px;">实战)。</span><span></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">值得一提的是,这套中台系统由于讲解了如何统一管理企业内部各大应用系统的“菜单资源列表”、“操作权限”,故而本门课程的“代码实战”是建立在之前</span><span style="font-size:16px;">debug</span><span style="font-size:16px;">录制的“企业权限管理平台”这套课程的基础之上的,故而在这里</span><span style="font-size:16px;">debug</span><span style="font-size:16px;">建议没有项目开发基础的小伙伴可以先去学习我的那套“企业权限管理平台”的实战课程,之后再来学习我的这套中台系统的实战才不会很吃力</span><span style="font-size:16px;">(</span><span style="font-size:16px;">课程链接:</span><span><a href="http://www.fightjava.com/web/index/course/detail/8"><span style="font-size:16px;"></span></a><span style="font-size:16px;">)</span></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">本课程的课程大纲如下图所示<span style="font-size:16px;">(右键可以在新标签页中打开图片放大查看)</span>:</span><span></span> </p> <p style="text-align:center;"> <img src="https://img-bss.csdn.net/201912071528406564.png" alt="" /> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">除此之外,这套“中台系统”由于统一管理了企业内部各大应用系统的“菜单资源和操作权限”以及“应用系统之间通信时的统一授权”,故而难免需要涉及到“中台系统”与“中台子系统”、“中台子系统”与“中台子系统”之间的通信(即分布式服务之间的通信),在这里我们是采用“</span><span style="font-size:16px;">dubbo + zookeeper</span><span style="font-size:16px;">”的方式加以落地实现的,详情如下图所示<span style="font-size:16px;">(右键可以在新标签页中打开图片放大查看)</span>:</span><span></span> </p> <p style="text-align:center;"> <img src="https://img-bss.csdn.net/201912071529091933.png" alt="" /> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">而众所周知,作为一款知名以及相当流行的分布式服务调度中间件</span><span style="font-size:16px;">,dubbo</span><span style="font-size:16px;">现如今已经晋升为</span><span style="font-size:16px;">Apache</span><span style="font-size:16px;">顶级的开源项目,未来也仍将成为“分布式系统”开发实战的一大利器,如下图所示为</span><span style="font-size:16px;">dubbo</span><span style="font-size:16px;">底层核心系统架构图<span style="font-size:16px;">(右键可以在新标签页中打开图片放大查看)</span>:</span><span></span> </p> <p style="text-align:center;"> <img src="https://img-bss.csdn.net/201912071529213194.png" alt="" /> </p> <p> <span style="font-size:16px;">而在这门“中台系统实战”的课程中,我们也将始终贯彻、落地</span><span style="font-size:16px;">dubbo</span><span style="font-size:16px;">的这一核心系统架构图,即如何将中台系统开发的服务注册</span><span style="font-size:16px;">/</span><span style="font-size:16px;">发布到注册中心</span><span style="font-size:16px;">zookeeper</span><span style="font-size:16px;">,中台子系统如何订阅</span><span style="font-size:16px;">/</span><span style="font-size:16px;">消费</span><span style="font-size:16px;">/</span><span style="font-size:16px;">调度中台系统发布在</span><span style="font-size:16px;">zookeeper</span><span style="font-size:16px;">的接口服务,中台子系统在走</span><span style="font-size:16px;">http</span><span style="font-size:16px;">协议调度通信时</span><span style="font-size:16px;">dubbo</span><span style="font-size:16px;">如何进行拦截、基于</span><span style="font-size:16px;">token</span><span style="font-size:16px;">认证接口的调用者等等,这些内容我们在课程中将一一得到代码层面的实战落地!</span><span></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">下图为本课程中涉及到的分布式系统</span><span style="font-size:16px;">/</span><span style="font-size:16px;">服务之间 采用“</span><span style="font-size:16px;">http</span><span style="font-size:16px;">协议</span><span style="font-size:16px;">restful api</span><span style="font-size:16px;">”方式通信时的</span><span style="font-size:16px;">Token</span><span style="font-size:16px;">授权、认证的流程图<span style="font-size:16px;">(右键可以在新标签页中打开图片放大查看)</span></span><span style="font-size:16px;">:</span> </p> <p style="text-align:center;"> <img src="https://img-bss.csdn.net/201912071529314254.png" alt="" /> </p> <p> <span style="font-size:16px;">而不夸张地说,</span><span style="font-size:16px;">基于</span><span style="font-size:16px;">AccessToken</span><span style="font-size:16px;">的授权、认证方式</span><span style="font-size:16px;">在现如今微服务、分布式时代系统与系统在通信期间最为常用的“授权方式”了,可想而知,掌握其中的流程思想是多么的重要!</span><span></span> </p> <p> <span style="font-size:16px;"> </span> </p> <p> <span style="font-size:16px;">以下为本门课程的部分截图<span style="font-size:16px;">(右键可以在新标签页中打开图片放大查看)</span>:</span><span></span> </p> <p style="text-align:center;"> <img src="https://img-bss.csdn.net/201912071529555340.png" alt="" /> </p> <p> <span style="font-size:16px;"> <img src="https://img-bss.csdn.net/201912071530115079.png" alt="" /></span> </p> <p> <span style="font-size:16px;"> <img src="https://img-bss.csdn.net/201912071530297642.png" alt="" /></span> </p> <p> <span style="font-size:16px;"><img src="https://img-bss.csdn.net/201912071530495573.png" alt="" /><br /> </span> </p> <p> <span style="font-size:16px;">核心技术列表</span><span style="font-size:16px;">:</span> </p> <p> <span style="font-size:16px;">值得一提的是,由于本门课程是一门真正介绍“中台思想”以及将“中台思想”和“分布式系统开发实战”相结合落地的课程,故而在学完本门课程之后,可以掌握到的核心技术自然是相当多的。主要由</span><span style="font-size:16px;">SpringBoot2.0</span><span style="font-size:16px;">、</span><span style="font-size:16px;">SpringMVC</span><span style="font-size:16px;">、</span><span style="font-size:16px;">Mybatis</span><span style="font-size:16px;">、</span><span style="font-size:16px;">Dubbo</span><span style="font-size:16px;">、</span><span style="font-size:16px;">ZooKeeper</span><span style="font-size:16px;">、</span><span style="font-size:16px;">Redis</span><span style="font-size:16px;">、</span><span style="font-size:16px;">OkHttp3</span><span style="font-size:16px;">、</span><span style="font-size:16px;">Guava-Retrying</span><span style="font-size:16px;">重试机制、</span><span style="font-size:16px;">JWT(Json Web Token)</span><span style="font-size:16px;">、</span><span style="font-size:16px;">Shiro</span><span style="font-size:16px;">、分布式集群</span><span style="font-size:16px;">session</span><span style="font-size:16px;">共享、</span><span style="font-size:16px;">Lombok</span><span style="font-size:16px;">、</span><span style="font-size:16px;">Stream API</span><span style="font-size:16px;">、</span><span style="font-size:16px;">Dubbo-Filter</span><span style="font-size:16px;">以及</span><span style="font-size:16px;">ServiceBean</span><span style="font-size:16px;">等等。如下图所示<span style="font-size:16px;">(右键可以在新标签页中打开图片放大查看)</span>:</span><span></span> </p> <img src="https://img-bss.csdn.net/201912071531014403.jpg" alt="" /><br />
<p> <img src="https://img-bss.csdn.net/201909231423115500.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231423337403.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231423434581.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231424065321.png" alt="" /><img src="https://img-bss.csdn.net/201909231424244483.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <div style="color:#444444;"> 适用人群 <p style="color:#666666;"> Java开发人员,Vue开发人员,前后分离开发人员,权限管理和配置开发人员 </p> </div> <div style="color:#444444;"> 课程概述 <div style="color:#666666;"> 【讲师介绍】<br />       现某知名大型互联网公司资深架构师,技术总监,职业规划师,首席面试官,曾在某上市培训机构,高校任教多年。<br />      Array(Array老师)10多年互联网公司实战经验,知名的大型互联网公司的架构师,高管等职,在企业长期从事于技术的源码阅读和新技术的研究;擅长于职业规划,面试辅导,从事面试官多年 <br /> 技术选型<br /> 开发环境:Eclipse/Idea ,JDK 1.8以上 <br /> 后技术<br /> 核心框架:SpringBoot2.x框架系列(同样适用Springcloud F版本以后的版本),如下(节选):    <br /> 持久层框架:MyBatis 3.x + Mybatis-plus 3.x<br /> 日志管理:SLF4J 1.7 + Log4j2 2.7<br /> 工具类:Apache Commons、Jackson 、fastjson、Gson<br /> 权限验证<br /> 前技术  <br /> Vue  <br /> Vue-cli<br /> ElementUI ---https://element.eleme.io/<br /> JSX (JavaScript Xml)<br /> 前台的权限验证和路由设置<br /> 开发模式  <br />      前后分离的开发<br /> 数据库 <br />       Mysql5<br /> IDE<br />     Intellij Idea<br /> 【课程收益】<br /> 学完课程能独立完成springboot2+vue+elementUI的整合项目开发(前后分离) <br /> 学完课程能Shiro的权限控制,按钮级别的权限控制 <br /> 学完课程能独立后开发和独立前开发Vue <br /> 学完课程能快速的掌握目前互联网用的前沿的框架和技术实战 </div> </div>
<p> <strong><span style="font-size:24px;">课程简介:</span></strong><br /> <span style="font-size:18px;">历经半个多月的时间,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。</span><span></span> </p> <p> <span style="font-size:18px;">其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程!</span><span></span> </p> <p> <br /> </p> <p> <span style="font-size:24px;"><strong>核心技术栈列表</strong></span><span style="font-size:24px;"><strong>:</strong></span> </p> <p> <br /> </p> <p> <span style="font-size:18px;">值得介绍的是,本课程在技术栈层面涵盖了前和后的大部分常用技术,包括</span><span style="font-size:18px;">Spring Boot</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Spring MVC</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Mybatis</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Mybatis-Plus</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Shiro(</span><span style="font-size:18px;">身份认证与资源授权跟会话等等</span><span style="font-size:18px;">)</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Spring AOP</span><span style="font-size:18px;">、防止</span><span style="font-size:18px;">XSS</span><span style="font-size:18px;">攻击、防止</span><span style="font-size:18px;">SQL</span><span style="font-size:18px;">注入攻击、过滤器</span><span style="font-size:18px;">Filter</span><span style="font-size:18px;">、验证码</span><span style="font-size:18px;">Kaptcha</span><span style="font-size:18px;">、热部署插件</span><span style="font-size:18px;">Devtools</span><span style="font-size:18px;">、</span><span style="font-size:18px;">POI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Vue</span><span style="font-size:18px;">、</span><span style="font-size:18px;">LayUI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">ElementUI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">JQuery</span><span style="font-size:18px;">、</span><span style="font-size:18px;">HTML</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Bootstrap</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Freemarker</span><span style="font-size:18px;">、一键打包部署运行工具</span><span style="font-size:18px;">Wagon</span><span style="font-size:18px;">等等,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070402564453.png" alt="" /> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:24px;">课程内容与收益</span><span style="font-size:24px;">:</span><span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070403452052.png" alt="" /> </p> <p> <span style="font-size:18px;">总的来说,</span><span style="font-size:18px;">本课程是一门具有很强实践性质的“项目实战”课程,即“</span><span style="font-size:18px;">企业应用员工角色权限管理平台</span><span style="font-size:18px;">”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于</span><span style="font-size:18px;">Shiro</span><span style="font-size:18px;">的资源授权实现员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">操作权限、员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图:</span> </p> <p> <span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070404285736.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:18px;"><strong>以下为项目整体的运行效果截图:</strong></span> <span></span> </p> <img src="https://img-bss.csdn.net/201908070404538119.png" alt="" /> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405002904.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405078322.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405172638.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405289855.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405404509.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405523495.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p style="text-align:left;"> <span style="font-size:18px;">值得一提的是,在本课程中,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前到后再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070406328884.png" alt="" /> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页