Activiti+Shiro实战
有人曾说:人的差距都在业余时间拉开的……嗯,我现在深刻理解着这句话,作为一个程序员,技术男,就得不断学习新的技术,跟上时代步伐,才会让自己更有价值~~~~以下这个项目是个人利用业余时间学习并实践的~如有不正确的地方,欢迎大家指正。今天总算把这些功能都搞得差不多了,做一下记录,结一下尾。
一、概述
本系统主要是一个后台管理系统,Shiro实现用户的角色、权限分配;layui+thymeleaf实现页面的渲染;在线设计流程图(非插件);通过请假模拟工作流;layui实现页面菜单树等等,一一道来。
1、技术点
SpringBoot(2.1.8.RELEASE)-官网地址:https://spring.io/projects/spring-boot/
Mabtis-Plus(3.2.0):国人开发的增强版mybatis,极好用(不仅可以生成mapper,连controller、service都可以逆向生成……等等)--官网地址:https://mp.baomidou.com/
Activiti(5.22.0):实现工作流(类比日常OA系统):https://www.activiti.org/get-started
Shiro(1.4.1):实现权限管理:http://shiro.apache.org/
layui(2.5.5):前端框架(极容易上手):https://www.layui.com/
Thymeleaf:模板引擎:https://www.thymeleaf.org/
2、实现功能
权限分配:基于“RBAC”实现的“用户”、“角色”、“权限”对应;根据不同用户分配不同的角色、根据不同的角色分配不同的权限
bpmn(流程图):本系统集成Activiti在线设计器,即通过本系统可以实现在线画流程图(避免给eclipse及idea装插件)
菜单树:layui组件生成
thymeleaf+layui:渲染前端页面、查询条件等
二、系统演示
1、layui加载菜单树、Shiro实现授权

2、Activiti在线设计请假单的流程图

这里唯一需要注意的就是任务监听器的配置:(需要配置该类的全路径名,上述gif动图中有该配置,并实现TaskListener、不要配置成执行监听器-------鄙人走过的坑!!! )

4、请假整体流程业务测试
根据上一步在线设计好的流程图,启动该流程(注:领导关系:孙七-->赵六-->王五)

5、首页模块
我的申请任务、待办任务、经办任务(拿出了我吃奶的劲去修饰页面:div+css--------真让人头疼--------------自学vue中……)

三、分析
1、菜单树的加载(layui组件实现)
根据官网案例,菜单树的数据就是json串,所以我们后台构造出对应的json即可---即TreeNodeBuilder构造出有层次的json串 
2、Mabits-plus逆向生成代码的测试类
这里包括生成:controller、Service、ServiceImpl、Mapper、Mapper.xml

本项目地址:https://github.com/Simple-Coder/manage-system(其中也有很多不足:比如代码冗余问题等等)
Activiti+Shiro实战的更多相关文章
- Shiro实战教程-刘志敏-专题视频课程
Shiro实战教程-62人已学习 课程介绍 本教程只介绍基本的 Shiro 使用,不会过多分析源码等,重在使用. 适用人群: 1.了解基于Servlet进行Web应用开发 2.了解Spr ...
- shiro实战系列(二)之入门实战续
下面讲解基于实战系列一,所以相关的java文件获取pom.xml及其log4j文件同样适用于本次讲解. 一.Using Shiro Using Shiro 现在我们的 SecurityManager ...
- shiro实战系列(一)之入门实战
一.什么是shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密. Apache Shiro 的首要目标是易于使用和理解.安全有 ...
- Springmvc+Shiro实战
原文链接:http://blog.csdn.net/qq_37936542/article/details/79010449 springmvc+shiro实现系统粗细粒度的权限管理步骤: 1:表格设 ...
- shiro实战系列(四)之配置
Shiro之配置 Shiro 被设计成能够在任何环境下工作,从最简单的命令行应用程序到最大的的企业群集应用.由于环境的多样性,使得许多配置机制适用于它的配置. 一. 许多配置选项 Shiro的Secu ...
- shiro实战系列(三)之架构
Apache Shiro 的设计目标是通过直观和易于使用来简化应用程序安全.Shiro 的核心设计体现了大多数人们是如何考虑应用程序安全的——在某些人(或某些事)与应用程序交互的背景下. 应用软件 ...
- shiro实战系列(十五)之Spring集成Shiro
Shiro 的 JavaBean 兼容性使得它非常适合通过 Spring XML 或其他基于 Spring 的配置机制.Shiro 应用程序需要一个具 有单例 SecurityManager 实例的应 ...
- shiro实战系列(十三)之单元测试
由于我们已经涉及到了 Subject reference,我们知道 Subject 是“当前执行”用户的特定安全视图,且该 Subject 实 例绑定到一个线程来确保我们知道在线程执行期间的任何时间是 ...
- shiro实战系列(十四)之配置
Shiro 被设计成能够在任何环境下工作,从最简单的命令行应用程序到最大的的企业群集应用.由于环境的多样性,使得许多配置机制适用于它的配置. 一. 许多配置选项 Shiro的SecurityManag ...
随机推荐
- 在写论文的参考文献时,有的段落空格很大,有的段落则正常,原因及解决方法(wps)
下图是一段原始的参考文献,可以看出第一行的空格很大: 原因: 当一个词占不下时,自动将单词移动到下一行,但是这一行又有很多字符,因此这时,软件会将空闲的位置用空白字符填满.第一行有两个空白字符,因此将 ...
- 程序员:我终于知道post和get的区别
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/kebi007/article/detail ...
- k8s 在Centos上 安装
k8s安装步骤: 1.所有机器上执行以下命令,准备安装环境:(注意是所有机器,主机master,从机node都要安装) 1.1.安装epel-release源(EPEL (Extra Packages ...
- python字符串前面加上'r'的作用
在打开文件的时候open(r'c:\....') 加r和不加''r是有区别的 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 ...
- Uva1640(统计数字出现的次数)
题意: 统计两个整数a,b之间各个数字(0~9)出现的次数,如1024和1032,他们之间的数字有1024 1025 1026 1027 1028 1029 1030 1031 1032 总共有10个 ...
- C#设计模式学习笔记:(1)单例模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8250985.html,记录一下学习过程以备后续查用. 一.引言 设计模式的分类: 1)依目的: 创建型(Cr ...
- Java不同单词个数统计
描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数.例如:对于句子“one little two little three little boys”,总共有5个不同的单词:one, ...
- Java连载86-List集合详解
一.List集合 1.List集合存储元素的特点: (1)有序(List集合中存储有下标):存进去是这样的顺序,取出来还是按照这个顺序取出. (2)可重复 2.深入ListJ集合 ArrayLis ...
- ng-核心特性(模型概念)
angular核心特性 很多开发者已经做过非常多的项目,但是当你跟他聊的时候,你很快就会发现他并没有掌握这门框架的精髓.打几个比方,当别人提到 Spring 的时候,你的大脑里面第一个想到一定是 DI ...
- 最简单的githut操作命令
创建SSH Key: 参考:https://blog.csdn.net/weixin_30345055/article/details/95139358 在用户目录下,看看有没有.ssh文件夹,如果有 ...