Java开发企业级权限管理系统
全程手把手带你运用Java技术栈,打造一套基于最流行的RBAC拓展模型的,分布式的,有界面的,高灵活性,高拓展性的企业级权限管理系统。学完本课程你将可以轻松应对绝大多数企业开发中与权限管理及后台系统相关的需求。
第1章 课程整体概述
本章首先介绍为什么大公司都有权限管理系统,然后会对权限管理中流行的RBAC模型及拓展做重点说明,并给出理想中的权限管理系统应该是什么样子的。之后会对这门课程做总体内容介绍与课程安排,最后会介绍这门课程会涉及到的技术,让大家明确了解到这门课程到底能收获些什么
1-1 课程导学
1-2 为什么企业级项目需要权限管理
1-3 权限管理的核心是什么?
1-4 理想中的权限管理应该是什么样的?
1-5 主流开源权限管理框架有哪些?
1-6 课程安排与知识点介绍
第2章 Spring Security权限框架理论与实战演练
本章首先让大家学习到Spring Security权限框架的架构,之后大家可以学习到Spring Security权限框架的核心概念,包括拦截器、数据库管理、缓存、自定义决策等等,之后会手把手带大家基于Spring Boot+Spring Security搭建一套演练环境,并带着大家在Spring Security权限框架常见的应用场景下对框架常用的API功能进行编码…
2-1 Spring Security权限管理框架介绍
2-2 Spring Security常用权限拦截器讲解
2-3 Spring Security数据库管理讲解
2-4 Spring Security权限缓存讲解
2-5 Spring Security自定义决策讲解
2-6 基于SpringBoot的SpringSecurity环境快速搭建与验证
2-7 SpringBoot常用注解讲解
2-8 基于SpringSecurity权限管理Case实操
2-9 SpringSecurity权限管理框架总结
第3章 Apache Shiro权限框架理论与实战演练
本章课程安排和Spring Security框架的安排是一样的,也是按照架构、核心概念、搭建环境、编码演练、优缺点分析的流程来进行讲解。不同的是Shiro里的核心概念是对身份认证、授权、权限拦截、会话管理、权限缓存等进行介绍。通过对两个框架的学习,可以看出他们不同的设计理念,这里对比着学习效果会更好。搭建环境依旧使用…
3-1 Apache Shiro权限管理框架介绍
3-2 Apache Shiro身份认证讲解
3-3 Apache Shiro授权讲解
3-4 Apache Shiro权限拦截讲解
3-5 Apache Shiro会话管理讲解
3-6 Apache Shiro权限缓存讲解
3-7 基于SpringBoot的Apache Shiro环境快速搭建与配置实操
3-8 基于SpringBoot连接数据库与配置MyBatis实操
3-9 基于Apache Shiro权限管理Case实操-1
3-10 基于Apache Shiro权限管理Case实操-2
3-11 基于Apache Shiro权限管理Case实操-3-
3-12 Apache Shiro权限管理框架总结
第4章 权限管理系统核心表设计
知识点索引请访问:http://www.imooc.com/article/21443,大家可能不清楚为什么有了流行的框架我们还需要自己开发一套,因此本章开始我们就来说明这个问题,之后我会演示这个系统开发完的界面样子,并根据演示给出我们需要开发的功能,之后带领大家一起完成详细的数据库设计(部门表,用户表,权限模块表,权限表,角色表,…
4-1 为什么要自己开发一套权限管理系统?
4-2 我们要开发一套怎样的权限管理系统?
4-3 部门表设计
4-4 用户表设计
4-5 权限模块表设计
4-6 权限表设计
4-7 角色表设计
4-8 角色-用户,角色-权限关联关系表设计
4-9 权限相关Log表设计
4-10 数据表设计规范与总结
第5章 Spring MVC开发环境搭建与配置
本章我会手把手带大家使用SpringMVC搭建一套完整的开发环境(不限于权限系统项目,所有后台系统开发都通用),并带大家完成各种重要的配置,包括pom.xml配置、web.xml配置、spring-servlet.xml配置,applicationContext.xml配置、durid配置、mybatis-config.xml配置及logback.xml的配置,大家会从中学习到许多环境配置的细…
5-1 Spring MVC开发环境搭建-pom.xml配置
5-2 Spring MVC开发环境搭建-web.xml配置
5-3 Spring MVC开发环境搭建-spring-servlet.xml配置
5-4 Spring MVC开发环境搭建-applicationContext.xml配置
5-5 Spring MVC开发环境搭建-druid配置
5-6 SpringMVC开发环境搭建-mybatis-config.xml配置
5-7 SpringMVC开发环境搭建-logback.xml配置
5-8 SpringMVC开发环境验证
第6章 项目准备与核心辅助工具类开发
本章开始,我会为大家介绍实用的Mybatis Generator工具,它可以根据数据库表设计动态生成相关的Java代码。之后定义项目的接口规范,在此基础上对接口的异常做全局的异常封装处理,然后为了方便项目对参数校验,我会带领大家完成一个校验工具BeanValidator的开发。因为项目会涉及json处理,我会专门封装JsonMapper来完成类…
6-1 核心类生成-Mybatis Generator
6-2 项目接口定义-json,page
6-3 接口请求全局异常处理-设计与验证
6-4 校验工具-BeanValidator开发
6-5 Json转化工具-JsonMapper开发
6-6 获取Spring上下文工具-ApplicationContextHelper开发
6-7 Http请求前后监听工具-HttpInterceptor开发
第7章 部门模块开发
本章带大家进行部门模块的开发,主要涉及新增部门、更新部门、部门树形结构的生成的后端接口及前端渲染。由于会涉及前端开发,我会对页面使用的内容做一些封装,方便后面页面的复用,提高代码复用性。并且上一章我们开发的工具也将从这一章开始大量的使用。这里涉及到的部门树形结构的开发、部门更新时递归更新子部门、树形…
7-1 新增部门接口开发
7-2 部门层级树接口开发
7-3 更新部门接口开发
7-4 新增部门、部门层级树、更新部门接口自测
7-5 部门列表界面基本架构开发
7-6 部门列表树型结构界面开发
7-7 部门列表交互功能开发(新增部门,删除部门,更新部门)-1
7-8 部门列表交互功能开发(新增部门,删除部门,更新部门)-2
7-9 部门列表交互功能开发(新增部门,删除部门,更新部门)-3
第8章 用户模块开发
本章带大家开发的是RBAC模型里的用户模块,这里除了完成对用户的管理外,同时还处理了用户登录和注销的功能,并将用户登录信息存储到ThreadLocal对象中方便系统内对当前登录用户的信息进行获取。这个模块首次涉及分页列表的展示,因此我们封装了一个分页插件,方便后面相关模块的代码复用,这对大家以后的编程思想会有一个…
8-1 用户参数对象UserParam编写
8-2 新增用户接口开发-1
8-3 新增用户接口开发-2
8-4 用户登录接口与界面开发-1
8-5 用户登录接口与界面开发-2
8-6 用户退出接口开发
8-7 列表分页插件开发
8-8 用户分页列表开发-1
8-9 用户分页列表开发-2
8-10 新增用户,编辑用户界面与交互功能开发
8-11 ThreadLocal,LoginFilter实现登录请求的拦截
8-12 IP获取工具类,发送邮件工具类的引入和代码优化
第9章 权限模块开发
本章带大家开发的是RBAC模型里的权限模块,由于和部门模块很相似,前端交互也相同,这个模块我会教大家提高参考类似模块进行低成本的开发或改造的思路和能力。
9-1 权限模块参数对象AclModuleParam编写
9-2 新增权限接口开发
9-3 更新权限及子模块的接口开发
9-4 权限模块树界面开发
9-5 权限模块界面渲染
9-6 权限模块界面交互功能实现-1
9-7 权限模块界面交互功能实现-2
第10章 权限点模块开发
本章要带大家开发的是RBAC模型里的权限点模块,主要是对权限点进行管理。由于和用户管理很相似,且相关的插件和函数都已经封装好,这章学习起来会比较轻松。
10-1 添加、更新权限点接口开发
10-2 根据权限模块获取权限点接口与界面开发-1
10-3 根据权限模块获取权限点接口与界面开发-2
10-4 新增权限点,编辑权限点交互功能实现
第11章 角色模块开发
本章要带大家开发的是RBAC模型里的角色模块,主要是对角色进行管理,包括获取列表、新增、修改、删除及相应的前端交互,这章学习起来会比较轻松。
11-1 新增、更新角色接口开发-1
11-2 新增、更新角色接口开发-2
11-3 角色模块界面开发
11-4 角色模块交互功能实现
第12章 角色权限关系开发
本章要带大家开发的是是RBAC模型里的角色权限关系模块。这章涉及到的技术要求较高,首先是后台递归生成基于角色已分配权限的权限模块和权限点组成树形结构,并计算每个节点下的权限点是否需要勾选和可选,然后前端使用zTree插件对这个树形结构进行动态渲染,并允许更新。更新时我做了比较细节的处理,先查看要更新的权限点…
12-1 角色权限树结构接口开发-1
12-2 角色权限树结构接口开发-2
12-3 角色权限树结构接口开发-3
12-4 角色权限树结构框架zTree的配置
12-5 角色权限树结构数据获取
12-6 角色权限树结构界面渲染与交互功能实现-1
12-7 角色权限树结构界面渲染与交互功能实现-2
12-8 角色权限树结构界面渲染与交互功能实现-3
第13章 角色用户关系开发
本章带大家开发的是RBAC模型里的角色用户关系模块。相比角色权限关系开发,角色用户关系的开发会相对简单一些,这个主要体现在数据渲染上,这里我们引入duallistbox插件来展示待选用户和已选用户。后台的更新操作和角色权限关系开发基本是一致的,祝大家学习愉快! …
13-1 角色权限与角色用户Tab切换功能实现
13-2 角色用户模块接口开发
13-3 角色用户模块界面开发
13-4 角色用户模块交互功能实现
第14章 RBAC模型附加功能开发
本章首先带大家完成部门删除、权限删除功能的开发和交互,之后完成了两个特别实用的接口,分别是查询用户已分配的角色和权限和查询权限被分配的角色和拥有指定权限的用户,这个特别有助于维护权限的管理员通过各个角度对分配的权限进行查看,虽然是一个权限管理系统的非核心的,附加的功能,但是从一个产品的易用性和管理员…
14-1 删除部门&删除权限功能开发
14-2 获取用户权限数据
14-3 获取权限点分配的用户和角色数据
第15章 权限拦截模块开发
本章带大家开发的是权限拦截模块。在RBAC模型功能完备的基础上,借助RBAC提供的数据,利用Filter拦截后台请求,编写我们定义的权限拦截规则,并对无权限访问的请求和页面做了特殊的处理。这里可扩展度很高,主要是把控权限拦截的细节,可以根据业务的需要做定制及扩展。提供系统的高度拓展性。 …
15-1 权限拦截功能开发-1
15-2 权限拦截功能开发-2
15-3 权限拦截功能开发-3
15-4 权限拦截功能开发-4
第16章 权限缓存模块开发(Redis分布式)
本章我们引入了redis来做权限缓存,让系统变成分布式的系统,在封装好java操作redis的配置后,会大大家分析缓存可以放在哪些方法上。之后我会带大家分析权限拦截涉及到的方法,分析出需要缓存的方法,然后我会演示如何有针对性的对指定的方法进行缓存,并验证通过。过程中我会简单演示使用Redis Desktop Manager客户端来…
16-1 Redis分布式缓存引入与保存缓存功能实现
16-2 更新Redis缓存功能实现
16-3 缓存场景分析
16-4 权限缓存功能实现
第17章 权限操作记录模块开发
这一章对于做好权限管理特别重要,也是绝大部分权限系统和流行的权限框架都缺少的。我们将系统里部门、用户、权限模块、权限点、角色、角色与权限、角色与用户的新增、更新的日志全部记录下来,在页面上分页展示,并支持根据类型、操作人关键字、更新前关键字、更新后关键字、更新时间段进行查询,这极大的方便了权限系统的…
17-1 权限操作记录模块接口开发
17-2 权限操作记录模块接口自测
17-3 权限操作记录模块界面开发-1
17-4 权限操作记录模块界面开发-2
17-5 权限操作记录模块交互功能实现-1
17-6 权限操作记录模块交互功能实现-2
第18章 课程总结
恭喜那些能坚持学习到最后一章的同学,课程讲到这就要结束了,煽情的话就不多说了,还是多留点时间给大家总结一下这套原生系统相对于流行的权限框架的一些优点,并指出了这套原生系统的可扩展点及灵活性,方便大家活学活用,根据自己面对的业务需求进行选择和拓展,非常希望这门课能给大家带来提高和收获,这是做这门课程最…
18-1 课程总结