七叶笔记 » java编程 » Springboot整合Shiro实现登录与权限校验详细解读

Springboot整合Shiro实现登录与权限校验详细解读

Springboot-cli 开发脚手架系列

Springboot优雅的整合Shiro进行登录校验,权限认证(附源码下载)

简介

Springboo配置Shiro进行登录校验,权限认证,附demo演示。

前言

我们致力于让开发者快速搭建基础环境并让应用跑起来,提供使用示例供使用者参考,让初学者快速上手。

本博客项目源码地址:

项目源码github地址

项目源码国内gitee地址

1. 环境

依赖

yml配置

server:  port: 9999  servlet:    session:      # 让Tomcat只能从COOKIE中获取会话信息,这样,当没有Cookie时,URL也就不会被自动添加上 ;jsessionid=… 了。      tracking-modes: COOKIE

spring:  thymeleaf:    # 关闭页面缓存,便于开发环境测试    cache: false    # 静态资源路径    prefix: classpath:/templates/    # 网页资源默认.html结尾    mode: HTML 

2. 简介

Shiro三大功能模块

Subject

认证主体,通常指用户(把操做交给SecurityManager)。

SecurityManager

安全管理器,安全管理器,管理全部Subject,能够配合内部安全组件(关联Realm)

Realm

域对象,用于进行权限信息的验证,shiro连接数据的桥梁,如我们的登录校验,权限校验就在Realm进行定义。

3. Realm配置

定义用户实体User ,可根据自己的业务自行定义

重写AuthorizingRealm 中登录校验doGetAuthenticationInfo及授权doGetAuthorizationInfo方法,编写我们自定义的校验逻辑。

4. 核心配置

ShiroConfig.java

/**

* Shiro内置过滤器,能够实现拦截器相关的拦截器

* 经常使用的过滤器:

* anon:无需认证(登陆)能够访问

* authc:必须认证才能够访问

* user:若是使用rememberMe的功能能够直接访问

* perms:该资源必须获得资源权限才能够访问,格式 perms[权限1,权限2]

* role:该资源必须获得角色权限才能够访问

**/

5. 接口编写

IndexController.java

6. 网页资源

在resources中创建templates文件夹存放页面资源

index.html

login.html

userInfo.html

table.hetml

7. 效果演示

启动项目浏览器输入127.0.0.1:9999

当我们点击用户信息和table时会自动跳转登录页面

登录成功后

获取用户信息

此处获取的就是我们就是我们前面doGetAuthenticationInfo方法返回的用户信息,这里为了演示就全部返回了,实际生产中密码是不能返回的。

8. 源码分享

本项目已收录

Springboot-cli开发脚手架,集合各种常用框架使用案例,完善的文档,致力于让开发者快速搭建基础环境并让应用跑起来,并提供丰富的使用示例供使用者参考,帮助初学者快速上手。

项目源码github地址

项目源码国内gitee地址

到此这篇关于Springboot整合Shiro实现登录与权限校验详细分解的文章就介绍到这了,更多相关Springboot Shiro登陆校验内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章