Shiro

Shiro

安全/权限框架Shiro(15)之缓存及记住我功能

缓存CacheManagerAware接口Shiro内部相应的组件(DefaultSecurityManager)会自动检测相应的对象(如Realm)是否实现了CacheManagerAware并自动注入相应的CacheManager。Realm缓存Shiro提供了CachingRealm,其实现了

2018-07-02
87 0

安全/权限框架Shiro(14)之SessionDao

介绍通过SessionDao可以把Session保存在我们想要保存的地方,比如MySQL,也可以是Redis,甚至是一个文件,我们可以自定义它的CRUD操作。下面是Shiro提供的几个SessionDao管理实现:org.apache.shiro.session.mgt.eis.AbstractSe

2018-06-28
81 0

安全/权限框架Shiro(13)之会话管理

相关APISubject.getSession():即刻获取会话,等价于Subject.getSession(true),即如果当前没有创建Session对象则会立即创建一个;而Subject.getSession(false)则是如果当前没有Session则返回null。session.getId

2018-06-24
89 0

安全/权限框架Shiro(12)之权限注解

介绍权限注解的作用就是修饰一个方法,让这个方法只有在当前Subject满足一定的条件时才能访问。@RequiresAuthentication:当前Subject已经通过login进行了身份验证,即Subject.isAuthenticated方法返回true时。@RequiresUser:当前Su

2018-06-22
86 0

安全/权限框架Shiro(11)之Shiro标签

Shiro提供了JSTL标签库用于Jsp页面进行权限控制,如根据登录用户的角色对应的权限显示相应的页面按钮。只需在Jsp中引入下面标签库即可使用:<%@taglibprefix="shiro"uri="http://shiro.apache.org/tags&qu

2018-06-19
85 0

安全/权限框架Shiro(10)之授权

介绍授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面、编辑数据、页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。主体(Subject):访问应用的用户,在Shiro中使用Subject代表该用

2018-06-15
85 0

安全/权限框架Shiro(9)之多Realm认证

实现其实在前面【登录功能实现】这节查看源码的过程中我们有看到这个方法://org.apache.shiro.authc.pam.ModularRealmAuthenticator#doAuthenticateprotectedAuthenticationInfodoAuthenticate(Auth

2018-06-11
89 0

安全/权限框架Shiro(8)之密码的加密

在之前的登录案例中,如果我们手动将密码加密,那么保存在数据库的密码就是加密后的密码,这时我们在Realm中从数据库获取的密码也就是加密后的密码,返回给Shiro进行比对的时候Shiro如果还是使用默认页面输入的原始密码与数据库中加密后的密码比对,那么肯定是不可行的。通过之前登录功能的实现我们已经知道

2018-06-08
85 0

安全/权限框架Shiro(7)之密码比对原理

Shiro是如何完成密码的比对的呢?我们已经知道,从页面传入的username及password已经被封装在UsernamePasswordToken实例中通过Subject.login(AuthenticationToken)方法交给了Shiro传递到了LoginRealm,而我们在LoginRe

2018-06-04
84 0

安全/权限框架Shiro(6)之认证Realm源码分析

自定义认证Realm为什么要继承org.apache.shiro.realm.AuthenticatingRealm类实现doGetAuthenticationInfo方法?首先登录操作是通过Subject.login(AuthenticationToken)方法实现的,查看该方法的实现://org

2018-06-01
91 0