(狂神) SpringBoot笔记-------14

Shiro快速开始

进入官网,点击下载

(狂神) SpringBoot笔记-------14_第1张图片

(狂神) SpringBoot笔记-------14_第2张图片

点击最新版本的路径。

(狂神) SpringBoot笔记-------14_第3张图片

它让我们去GitHub上下载。

(狂神) SpringBoot笔记-------14_第4张图片

下载。

解压之后进入文件夹,打开例子目录

(狂神) SpringBoot笔记-------14_第5张图片

 (狂神) SpringBoot笔记-------14_第6张图片

点击quickstart目录:

 (狂神) SpringBoot笔记-------14_第7张图片

它的main里只有这一个代码。

 我们新创建一个项目:

在我们下载的文件夹中,先把pom.xml的依赖复制粘贴到我们的项目中去:

(狂神) SpringBoot笔记-------14_第8张图片

全部没有版本号,我们就去官网去找一下它的版本号。

(狂神) SpringBoot笔记-------14_第9张图片

 依赖导入之后,我们去做一些shiro的配置:

(狂神) SpringBoot笔记-------14_第10张图片

我们先把log4j的properties文件拷贝下来:

 (狂神) SpringBoot笔记-------14_第11张图片

我们把ini文件也拷贝过来:

(狂神) SpringBoot笔记-------14_第12张图片

(狂神) SpringBoot笔记-------14_第13张图片

我们把java里面这个文件也拿过来。

(狂神) SpringBoot笔记-------14_第14张图片

这爆红了。

我们把爆红的包删除,可能是版本的问题。

 (狂神) SpringBoot笔记-------14_第15张图片

打印出信息并且没什么报错。

我们快速入门这节课环境就搭建完了。

 Shiro的Subject分析

(狂神) SpringBoot笔记-------14_第16张图片

这个类中,前三行是固定的写法,就要这么去写,然后我们会去获取到我们的Subject对象,接下来我们获取我们的Subject的session对象,去设置key和value值我们也可以取到key和value。

运行一下:

(狂神) SpringBoot笔记-------14_第17张图片 

它之后是做了一个登陆和记住我的功能。

 

最开始我们是加载了这个文件,所以我们的用户名和密码都是在这个文件里。

(狂神) SpringBoot笔记-------14_第18张图片 

这里定义了很多用户的用户名和密码。

我们现在去运行一下代码:

 

登陆成功。

我们去把用户名写一个文件里没有定义的:

(狂神) SpringBoot笔记-------14_第19张图片 

运行:

 

控制台告诉我们这里没有叫这个用户名的用户。

(狂神) SpringBoot笔记-------14_第20张图片 

这部分代码,它在这个try...catch中,定义了多个异常,用户名不存在,密码不对,用户被锁定都会报出对应的异常语句。

(狂神) SpringBoot笔记-------14_第21张图片 

 

我们这里是对角色的一个验证,以及不同角色所分配的权限不一样。

(狂神) SpringBoot笔记-------14_第22张图片 

我们的角色和每个角色都有哪些权限,在我们的Ini文件中都有定义,当然我们也可以自己去改。

我们在springboot中常用到的shiro的方法:

Subject currentUser = SecurityUtils.getSubject(); 获取Subject对象
Session session = currentUser.getSession();    获取Session
currentUser.isAuthenticated()     用户是否被验证
currentUser.getPrincipal()    获取验证权限
currentUser.hasRole("schwartz")   用户是否拥有这个角色
currentUser.isPermitted("lightsaber:wield") 用户授权
currentUser.logout();    注销

在springboot中重点就是如何去在springboot中去集成我们的shiro

 

你可能感兴趣的:(spring,boot,intellij-idea,java)