介绍
这篇文章运用简单易懂的例子给大家介绍使用Springboot整合shiro实现权限控制的示例,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1, mysql - 5.7
2, navicat (mysql客户端管理工具)
3, 2017.2
4, jdk8
5, tomcat 8.5
6, springboot2.1.3
7, mybatis 3
8, shiro1.4
9日maven3.3.9
二、数据库设计
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img - cb46byc1 - 1604249108144) (img/shiro01.png)]
三、创建Springboot项目
, 3.1添加组件
添加网络,lombok, thymeleaf、jdbc、mysql, mybatis等模块;pom
3.2。xml
& lt; parent> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-parent & lt; version> 2.1.4.RELEASE & lt; relativePath/比;& lt; !——从库中查找父——比; & lt;/parent> & lt; dependencies> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-jdbc & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-thymeleaf & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; dependency> & lt; groupId> org.mybatis.spring.boot & lt; artifactId> mybatis-spring-boot-starter & lt; version> 2.0.1 & lt;/dependency> & lt; !——配置shiro依赖包——比; & lt; dependency> & lt; groupId> org.apache.shiro & lt; artifactId> shiro-spring & lt; version> 1.4.0 & lt;/dependency> & lt; !——配置数据库连接池依赖——比; & lt; dependency> & lt; groupId> com.alibaba & lt; artifactId> druid & lt; version> 1.0.26 & lt;/dependency> & lt; dependency> & lt; groupId> mysql & lt; artifactId> mysql-connector-java & lt; version> 5.1.32 & lt;/dependency> & lt; !——配置lombok插件——比; & lt; dependency> & lt; groupId> org.projectlombok & lt; artifactId> lombok & lt; optional> true & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt; scope> test & lt;/dependency> & lt;/dependencies> & lt; build> & lt; plugins> & lt; plugin> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-maven-plugin & lt;/plugin> & lt;/plugins> & lt;/build>
3.3创建项目包结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img - nnuns5pt - 1604249108145) (img/shiro02.png)]
3.4配置初始化文件的应用程序。yml
#配置服务端口号 服务器: 端口:8080 #配置数据源 春天: 数据源: 类型:com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc: mysql://localhost: 3306/my_shiro& # 63; useUnicode=true& characterEncoding=utf - 8 用户名:根 密码:59852369 #配置mybatis mybatis: mapper-locations:类路径:映射器/* . xml type-aliases-package: com.qf.domain.pojo
四,程序设计开发
4.1实体类开发
, # 8203;SysUser。java
包com.qf.domain; 进口lombok.Data; 进口java.io.Serializable; 进口java.util.Date;/* * *由54110>包com.qf.domain; 进口lombok.Data; 进口java.io.Serializable;/* * *由54110>包com.qf.mapper; 进口com.qf.domain.SysUser; 进口org.apache.ibatis.annotations.Mapper;/* * *由54110>包com.qf.mapper; 进口com.qf.domain.SysPermission; 进口org.apache.ibatis.annotations.Mapper; 进口并不知道;/* * *由54110> & lt;及# 63;xml version=?.0”;编码=癠TF-8",# 63;比; & lt; !文档类型映射器 公众“-//mybatis.org//DTD Mapper 3.0//EN" “http://mybatis.org/dtd/mybatis-3-mapper.dtd"比; & lt;映射器命名空间=癱om.qf.mapper.SysUserMapper"祝辞 & lt; resultMap类型=癱om.qf.domain.SysUser"id=皍serMap"比; & lt; id列=癠SERID"属性=皍serid"/比; & lt;结果列=癓OGIN_NAME"属性=發oginName"/比; & lt;结果列=癙ASSWORD"属性=皃assword"/比; & lt;结果列=癝TATE"属性=皊tate"/比; & lt;结果列=癈REATE_TIME"属性=癱reateTime"/比; & lt;结果列=癛EALNAME"属性=皉ealname"/比; & lt;/resultMap> & lt; sql id=皌busers_columns"祝辞 密码、LOGIN_NAME CREATE_TIME、REALNAME状态 & lt;/完成; & lt; !,根据用户名查询对象——比; & lt;选择id=癴indUserByUsername"parameterType=皊tring"resultMap=皍serMap"比; 选择 & lt;包括refid=皌busers_columns"祝辞& lt;/include> 从 TB_SYS_USER我们 在哪里 我们。LOGIN_NAME=#{名称} & lt;/select> & lt;/mapper>使用Springboot整合shiro实现权限控制的示例