
人在江湖之shiro详解
文章平均质量分 94
shiro以其简单适用已经被各大公司广泛使用于项目中的登录认证、接口权限认证中,是通向架构师的必学技能
没事儿写两篇
授之以鱼不如授之以渔
展开
-
008-shiro使用token认证
实际开发中,我们的项目大多数都采用前后端分离或者集群的方式部署。在这些情况下,往往会有些问题,比如前后端分离的跨域问题、跨域携带cookie的问题、分布式应用下的session共享等问题,虽然这些问题都能得到相应的解决,但总是觉得没有直接使用token或者jwt方便。接下来我们来对我们目前实现的shiro功能进行一些修改,让它能直接使用token的方式进行认证。编写axios异步请求当然JQuery或直接AJAX请求也可以现象:重新DefaultWebSessionManager的getRe.原创 2021-05-25 18:24:32 · 8653 阅读 · 2 评论 -
007-shiro的会话管理
注意:阅读本篇需要上一篇的相关代码与设置会话过期时间设置默认会话管理器设置我们的Demo1中的DefaultSecurityManager默认使用的是DefaultSessionManager,我们可以使用如下方式来设置会话过期时间DefaultSessionManager sessionManager = new DefaultSessionManager();sessionManager.setGlobalSessionTimeout(1000);// 单位毫秒web应用设置web应.原创 2021-04-27 17:31:23 · 583 阅读 · 1 评论 -
006-springboot整合shrio
1.配置pom.xml注意:以下是shiro整合的最小依赖(并不包含orm框架以及其它web应用所依赖的常用框架),本文只讨论shiro的应用。另:本文需要有一定的springboot基础,因为我们会忽略掉涉及到springboot细节,比如启动程序的编写、配置文件等等,只注重于shiro的web集成与使用。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0原创 2021-04-19 11:24:07 · 308 阅读 · 0 评论 -
005-shiro的Realm源码解析与自定义Realm
shrio自带的RealmIniRealm:我们前面的示例中使用的,从ini文件中提供用户信息和认证信息JdbcRealm:shrio提供的使用Jdbc访问数据库的方式,提供用户信息和认证信息其他PropertiesRealm等shiro自带的Realm都有其相应的局限性,在大多数情况下我们还是需要根据业务要求自定义Realm继承AuthorizingRealm来实现自定义Realm为什么自定义Realm要继承AuthorizingRealm来实现?Realm接口的定义如下:public原创 2021-04-14 09:33:46 · 325 阅读 · 0 评论 -
004-shiro授权
授权三要素授权具有三个在Shiro中引用的核心元素:权限,角色和用户权限:比如公司给你提供办公电脑,你可以使用该电脑,你的同事不能使用,但你不能将此电脑卖了换钱。(权限就是对某个资源的处理权。处理权分多种,这里就是使用和变卖)角色:在公司来说,员工就是角色,领导也是角色,他不是具体的某个人,可以只某个岗位(研发、测试、产品),或者是某个部门(组织部、研发部),角色就是代表一类用户,在授权中,角色就是代表拥有某些共同权限的一类用户。用户:用户是使用系统的用户,一般情况下,用户与角色绑定,角色与原创 2021-03-10 15:16:41 · 351 阅读 · 2 评论 -
003-shiro认证
认证顺序步骤1:应用程序代码调用该Subject.login方法,并传入AuthenticationToken表示最终用户的主体和凭据的构造实例。 第2步:Subject实例(通常是一个DelegatingSubject(或子类))通过调用SecurityManager的securityManager.login(token)方法开始实际的身份验证工作。 步骤3:SecurityManager作为基本的组件,接收令牌,并通过调用Authenticator来简单地委派给其内部实例authentic原创 2021-03-01 14:19:48 · 250 阅读 · 0 评论 -
002-shiro的HelloWorld入门
前提学习本课程内容,请确保你已经具有如下内容的使用经验:maven idea spring、springboot等1.使用maven创建一个shiro1项目2.导入shiro核心jar包本教程使用maven导入 <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifac原创 2021-02-20 15:33:15 · 227 阅读 · 0 评论 -
001-shiro简介
简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以帮助我们完成:认证、授权、加密、会原创 2021-02-19 15:55:21 · 207 阅读 · 0 评论