Shiro
Catalina_yep
这个作者很懒,什么都没留下…
展开
-
Shiro---授权源码分析
一.步骤总结1.首先调用Subject.isPermitted/hasRole接口,其会委托给SecurityManager,而SecurityManage接着委托给Authorizer2.Authorizer是真正的授权者,如果我们调用如.isPermitted(“user:view”),其首先会通过PermissionResolver把字符串换成相应的permission实例3.在进行授权之前,其会调用相应的realm获取Subject相应的角色/权限用于匹配传入的角色/权限4.Authoriz原创 2020-09-14 22:48:31 · 415 阅读 · 0 评论 -
Shiro---认证过程源码解析
一.认证过程源码解析1.当用户输入账号和密码后,传到控制层中,我们通过创建UsernamePasswordToken对象,将账号和密码封装成令牌Token2.利用 SecurityUtils.getSubject()获取subject对象3.调用subject对象的login方法,并将token当成方法参数传入3.1在subject的login方法中,又调用public class DelegatingSubject implements Subject { public void lo原创 2020-09-13 21:48:47 · 182 阅读 · 1 评论 -
Shiro--Shiro整合springboot(三)----remember me的实现
在平时,我们在逛京东或者淘宝时,会遇到7天免登陆的情况,,我们可以通过shiro的rememberMe的功能来实现这种功能原创 2020-09-13 15:33:21 · 167 阅读 · 0 评论 -
Shiro--Shiro整合springboot(二)---设置凭证匹配器
一般来说,我们存在数据库的密码数据是加密过的,也就是说在做认证的过程中,我们也要跟认证的配置中给定加密的过程,用的什么算法,迭代了几次等,我们把这种包含了加密规则的对象称为凭证匹配器原创 2020-09-13 15:21:48 · 377 阅读 · 0 评论 -
Shiro---SpringBoot整合shiro(一)
一.步骤总结1.添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/原创 2020-09-13 15:13:01 · 113 阅读 · 0 评论 -
shiro--自定义授权
一.步骤总结1.新建MyRealm类,继承AuthorizingRealm类public class MyRealmAuthorizing extends AuthorizingRealm {2.实现里面的两个方法:doGetAuthorizationInfo:授权的方法1)根据principals去数据库中查询对应的角色2)根据角色去数据库中查询对应的权限3)新建 SimpleAuthorizationInfo,通过 SimpleAuthorizationInfo的addRoles和add原创 2020-09-11 20:46:13 · 273 阅读 · 0 评论 -
Shiro-----凭证匹配器
一.概述在实际应用中数据库密码都是加密的。Shiro内置了凭证匹配器,通过简单配置就可以实现明文数据和数据库中加密数据匹配的效果。二.步骤总结1.修改自定义的RealmAuthenticationInfo 的构造方法由三个参数变成四个参数的。新增第三个参数表示加盐。一般都是拿用户数据的id作为盐。 SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, user.getPassword(), ByteSource.Ut原创 2020-09-11 20:38:32 · 435 阅读 · 0 评论 -
Shiro---自定义Realm进行认证
一.步骤总结1.定义一个类MyRelam,让它继承AuthenticatingRealm2.重写doGetAuthenticationInfo方法,在里面进行认证,这个方法的参数就是Token,也就是客户端传过来的用户名和密码3.获取Token中的username和password UsernamePasswordToken token = (UsernamePasswordToken) upToken; String username = token.getUsername();原创 2020-09-11 20:23:53 · 255 阅读 · 0 评论 -
Shiro---角色和权限的校验方法
一.角色校验1.hasRole(String role)hasRole是判断是否具有某个角色:有就返回true,没有就返回false2.hasRoles(List roles)判断是否具有多个角色:返回值是一个boolean的数组,数组中的每一个元素代表了是否具有的角色3.hasAllRoles(Collection roles)判断是否具有多个角色:如果提供列表中没有用户所具有的角色,则返回false,如果都存在,返回true4. subject.checkXxx()也是判断用户是否具有角原创 2020-09-11 20:12:21 · 906 阅读 · 0 评论 -
Shiro---shiro的入门程序
一.步骤总结1.添加依赖 <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.4.2</version> </dependency&原创 2020-09-11 19:53:26 · 147 阅读 · 0 评论 -
Shiro--INI文件介绍
1.INI英文名称(InitializationFile),Shiro的全局配置文件就是.ini文件,ini中数据都是固定数据,后面会用数据库中数据替代下面users和roles(固定数据部分)2.INI文件中包含了四个部分:1)[main]主体部分.:这部分配置类对象,或设置属性等操作内置了根对象:securityManager,注意对象名大小写[main]securityManager.属性=值key=valuesecurityManager.对象属性=com.szsxt.pojo.Pe原创 2020-09-11 19:14:56 · 265 阅读 · 0 评论 -
Shiro----shiro的架构原理
1.shiro的概述Apache Shiro是一个强大的并且简单使用的java权限框架.主要应用认证(Authentication),授权(Authorization),cryptography(加密),和Session Manager.Shiro具有简单易懂的API,使用Shiro可以快速并且简单的应用到任何应用中,无论是从最小的移动app到最大的企业级web应用都可以使用.2.核心功能在Shiro官网首页上占用了很大的篇幅说明了Shiro的核心功能。Authentication 认证。如用户的登原创 2020-09-11 19:06:02 · 250 阅读 · 0 评论