![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shiro源码解析---基础接口
iteye_10899
这个作者很懒,什么都没留下…
展开
-
securityManager接口
学习张开涛老师的shiro教程中,很多东西理解不是太深刻,现在对源码进行一部分分析,来加深自己对这块的理解。接口securityManager继承了其它的三个接口Authenticator(认证接口),Authorizer(授权接口),SessionManager(会话接口),现在对这四个接口进行分析:1.securityManager定义的方法:1.1.登录Subject l...原创 2016-10-28 12:45:33 · 151 阅读 · 0 评论 -
SessionKey接口
SessionKey接口用来定义session的键信息,里面只有一个方法,先对其解析如下:Serializable getSessionId();//获取session的id原创 2016-11-02 08:39:00 · 234 阅读 · 0 评论 -
SessionValidationScheduler接口
SessionValidationScheduler接口主要用来定义session的有效操作,先对其解析如下:1.返回任务是否可用(如果任务可用,则返回true;如果任务不可用,则返回false)boolean isEnabled();2.使session有效void enableSessionValidation();3.使session失效void disableS...原创 2016-11-02 08:40:28 · 6101 阅读 · 0 评论 -
Session接口
Session接口主要定义了会话信息,先对其解析如下:1.获取sessionIdSerializable getId();2.获取起始时间Date getStartTimestamp();3.获取最后的访问时间Date getLastAccessTime();4.获取超时时间long getTimeout() throws InvalidSessionExcep...原创 2016-11-02 08:41:54 · 190 阅读 · 0 评论 -
AuthenticationListener接口源码解析
AuthenticationListener接口实现了认证的监听,先对其解析如下:1.认证成功void onSuccess(AuthenticationToken token, AuthenticationInfo info);2.认证失败void onFailure(AuthenticationToken token, AuthenticationException ae);...原创 2016-11-03 17:04:56 · 761 阅读 · 3 评论 -
LogoutAware接口
LogoutAware接口用于实现subject的退出,此接口里面只有一个方法:public void onLogout(PrincipalCollection principals);原创 2016-11-03 17:07:21 · 187 阅读 · 0 评论 -
Realm接口源码解析
Realm用来实现安全数据源信息,先对其解析如下:1.获取Realm名称String getName();2.是否支持认证(如果支持,返回true;如果不支持,返回false)boolean supports(AuthenticationToken token);3.根据token获取AuthenticationInfo信息AuthenticationInfo getA...原创 2016-11-04 08:59:20 · 255 阅读 · 0 评论 -
AuthenticationStrategy接口源码解析
AuthenticationStrategy认证策略接口主要是实现各种认证的策略,目前所有的认证策略包括(FirstSuccessfulStrategy(只要有一个Realm验证成功即可,只返回第一个Realm身份验证成功的认证信息,其他的忽略);AtLeastOneSuccessfulStrategy(只要有一个Realm验证成功即可,和FirstSuccessfulStrategy不同,返...原创 2016-11-04 09:01:11 · 167 阅读 · 0 评论 -
CacheManagerAware接口
CacheManagerAware接口主要是用来设置缓存管理器的,它里面只有一个方法:void setCacheManager(CacheManager cacheManager);原创 2016-11-07 09:11:05 · 204 阅读 · 0 评论 -
Nameable接口
Nameable接口主要是用来设置名字的,它里面只有一个方法:void setName(String name);原创 2016-11-07 09:11:23 · 193 阅读 · 0 评论 -
ValidatingSessionManager接口
ValidatingSessionManager接口用来定义会话的校验,里面只有一个方法,先对其解析如下:void validateSessions();//校验会话信息原创 2016-11-02 08:37:36 · 627 阅读 · 0 评论 -
SessionListener接口
SessionListener接口主要定义了Session的开始,停止和失效,先对其解析如下:1.session开始void onStart(Session session);2.session停止void onStop(Session session);3.session失效void onExpiration(Session session);...原创 2016-11-02 08:37:00 · 292 阅读 · 0 评论 -
RolePermissionResolver接口
RolePermissionResolver主要是用来处理角色对应的权限,里面只有一个方法,先对其解析如下:Collection<Permission> resolvePermissionsInRole(String roleString);//根据角色获取角色对应的权限集合...原创 2016-11-01 09:24:33 · 166 阅读 · 0 评论 -
PrincipalMap接口
PrincipalMap身份集合接口主要是用来处理身份集合的,它继承了PrincipalCollection,Map这两个接口,先对其解析如下:1.根据realm名称获取身份mapMap<String,Object> getRealmPrincipals(String realmName);2.将身份信息设置到realmName下Map<String,Obje...原创 2016-10-31 09:02:39 · 208 阅读 · 0 评论 -
Authenticator接口
Authenticator接口只有下面一个方法,它完成的是用户信息的认证:public AuthenticationInfo authenticate(AuthenticationToken authenticationToken) throws AuthenticationException;...原创 2016-10-31 09:03:09 · 504 阅读 · 0 评论 -
Initializable接口
Initializable接口主要是用来做初始化用的,它里面只有一个方法:void init() throws ShiroException;原创 2016-10-31 09:06:39 · 3273 阅读 · 0 评论 -
AuthenticationInfo接口
AuthenticationInfo主要是用来获取认证信息的,它实现了Serializable接口,先对其解析如下:1.获取主题的身份(或者可以理解为用户名,有一个主身份)PrincipalCollection getPrincipals();2.获取主题的凭证(或者可以理解为密码)Object getCredentials();...原创 2016-10-31 09:16:21 · 1520 阅读 · 0 评论 -
MergableAuthenticationInfo接口
MergableAuthenticationInfo接口主要是用来合并认证信息的,它实现了AuthenticationInfo接口,先对其解析如下:1.AuthenticationInfo接口主要参考AuthenticationInfo接口解析,它主要是获取用户身份和用户凭证信息(即用户名和密码信息)。2.MergableAuthenticationInfo接口2.1合并Aut...原创 2016-10-31 09:19:52 · 232 阅读 · 0 评论 -
CredentialsMatcher接口
CredentialsMatcher接口主要是用来实现认证的匹配的,它里面共有一个方法,先对其解析如下:boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info);//做匹配...原创 2016-11-01 09:19:52 · 387 阅读 · 0 评论 -
Permission接口
Permission接口是用来实现权限的验证,里面只有一个方法,先对其解析如下:boolean implies(Permission p);原创 2016-11-01 09:20:46 · 251 阅读 · 0 评论 -
SessionManager接口
SessionManager接口是用来定义会话管理器操作的接口,先对其解析如下:1.根据会话上下文启动一个会话信息Session start(SessionContext context);2.根据会话key获取会话信息Session getSession(SessionKey key) throws SessionException;...原创 2016-11-01 09:22:47 · 210 阅读 · 0 评论 -
PermissionResolver接口
PermissionResolver权限处理器,主要是用来处理传过来的权限信息的,里面只有一个方法,先对其解析如下:Permission resolvePermission(String permissionString);原创 2016-11-01 09:24:14 · 315 阅读 · 0 评论 -
WebSessionManager接口
WebSessionManager接口里面只有一个方法,现对其解析如下:boolean isServletContainerSessions();//如果session的管理和存储被servlet container管理,则返回true,如果直接被shiro管理,则返回false。...原创 2016-11-10 17:16:45 · 170 阅读 · 0 评论