Spring Boot整合Shiro搭建权限管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Spring Boot整合Shiro搭建权限管理系统

一、Spring Boot入门

1.新建一个maven工程

2.修改pom.xml文件,添加spring boot父工程

3.修改默认编译的jdk版本

4.添加spring boot启动器(web支持)

5.编写controller(UserController)

6.编写启动类Application

7.运行启动类Application(和运行普通的Java程序一样)

8.然后在浏览器输入:http://localhost:8080/hello,就可以

正常访问了,出现如下画面说明启动成功

二、导入thymeleaf页面模块

1.引入thymeleaf依赖

2.在controller当中添加如下方法:

3.在src/main/resources目录下面建立templates目录用

来存放页面(Spting-Boot默认页面存放路径,名字不可更改)

4.在templates目录下新建test.html

th:text="${name}"为thymeleaf语法,获取model中传过来的值

5.在浏览器访问http://localhost:8080/testThymeleaf进

行测试.如果能够在页面上获取到值就说明成功了.

此处需要注意在thymeleaf3.0以前对页面标签语法要求比较严格,开始标签必须有对应的结束标签,如果没有就出现如下错误.

如果页面标签不严谨还希望使用thymeleaf的话,那就需要升级thymeleaf到3.0以上的版本,此处升级为3.0.2

6.升级thymeleaf版本(修复上面的错误),在properties节点

下面添加

三、Spring Boot与Shiro整合实现用户认证

1.Shiro核心API类

Subject: 用户主体(把操作交给SecurityManager)

SecurityManager: 安全管理器(关联Realm)

Realm: shiro连接数据库的桥梁

2.导入shiro与spring整合依赖

3.创建自定义Realm

4.编写shiro的配置类(重点)(最基础的配置类如下)

5.使用shiro内置过滤器实现拦截功能5.1.新建两个页面add.html和update.html

5.2.修改test.html页面

5.3.在UserController当中添加下面的方法

5.4.修改ShiroConfig类

5.5.验证拦截功能,在test页面点击超链接,如果出现以下情况,说明拦

截成功

5.6.设置跳转到自定义登录页面5.6.1.新建一个登录页面login.html

5.6.2.在UserController当中添加如下方法:

5.6.3.修改ShiroConfig类

5.6.4.验证,如果页面调整到自定义登录页面则成功

5.7.使用通配符简化配置,修改ShiroConfig类

6.实现用户验证(登录)操作6.1.修改登录页面login.html

6.2.在controller当中添加方法

6.3.在ShiroConfig当中添加如下代码,放行登录操作

6.4.编写UserRealm的认证(判断)逻辑

四、整合Mybatis实现登录功能

1.导入Mybatis相关依赖,修改pom.xml文件

2.新建一个数据库,然后再新建一张数据库表,建表语句如

下(数据库需要手动创建):

3.在src/main/resources目录下面新建

application.properties。(位置和文件名固定)

4.编写实体类User

5.编写查询接口

6.编写UserMapper.xml映射文件

7.编写业务接口和实现

8.在启动类Application当中添加mapper包扫描的注释

9.修改UserRealm的认证逻辑

五、Spring Boot与Shiro整合实现用户授权

1.使用shiro内置过滤器实现资源拦截

1.1.修改ShiroConfig,在过滤器当中添加资源过滤器

1.2.在浏览器访问用户添加功能,如果出现如下页面,则表示拦截成

功(此为shiro自动跳转到的页面,因为没有对应的页面显示,所以就显示错误页面)

1.3.自定义未授权提示页面

1.3.1.新建未授权提示noAuth.html页面

1.3.

2.修改ShiroConfig类

1.3.3.在UserController当中添加如下方法:

1.4.如果浏览器在未授权的情况下跳转到自定义页面说明修改成功

2.修改UserRealm完成Shiro的资源授权

3.连接数据库实现资源动态授权3.1.修改数据库表

3.2.修改实体类User

3.3.修改UserMapper接口,添加方法

3.4.在业务接口和实现类中添加方法

实现类:

3.5.修改UserRealm中的方法

3.6.在ShiroConfig当中新增拦截项

六、thymeleaf和shiro标签整合使用

1.导入thymeleaf扩展依赖,修改pom.xml文件

2.在ShiroConfig当中配置ShiroDialect

3.在页面当中使用shiro标签控制资源显示,修改test.html

页面

相关文档
最新文档