使用Springboot整合shiro实现权限控制的示例

  介绍

这篇文章运用简单易懂的例子给大家介绍使用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实现权限控制的示例