shiro:Authenticator和SecurityManager认证策略

x33g5p2x  于2021-10-18 转载在 其他  
字(0.7k)|赞(0)|评价(0)|浏览(292)

1、Authenticator 简介

1.1层次结构图

1.2作用

职责是验证用户帐号,是ShiroAPI中身份验证核心的入口点;接口中声明的authenticate方法就是用来实现认证逻辑的。

1.3源代码
public interface Authenticator {
    AuthenticationInfo authenticate(AuthenticationToken var1) throws AuthenticationException;
}
1.4 authenticate
  • 该方法是实现认证逻辑的。
  • 如果验证成功,将返回AuthenticationInfo验证信息;此信息中包含了身份及凭证;如果验证失败将抛出相应的 AuthenticationException 实现

2.ModularRealmAuthenticator

2.1关系图

2.2作用

认证策略接口,自定义认证策略时只需要继承该类即可(PS:一般使用默认的三种策略即可)

2.3 三种策略
  • FirstSuccessfulStrategy:只要有一个Realm验证成功即可,只返回第一个Realm身份验证 成功的认证信息,其他的忽略;
  • AtLeastOneSuccessfulStrategy:只要有一个Realm验证成功即可,和FirstSuccessfulStrategy 不同,返回所有 Realm 身份验证成功的认证信息;
  • AllSuccessfulStrategy:所有Realm验证成功才算成功,且返回所有Realm身份验证成功的 认证信息,如果有一个失败就失败了。
    注意:ModularRealmAuthenticator 默认使用 AtLeastOneSuccessfulStrategy 策略。

相关文章