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