Shiro Authenticator认证器

Authenticating Subjects 认证用户

  认证步骤

    认证分三步:1、收集用户(Subject)基本信息(principal)和认证信息(credential);

          2、提交用户(Subject)基本信息(principal)和认证信息(credential);

          3、认证结果信息处理。

    

  Step One:   

UsernamePasswordToken token = new UsernamePasswordToken("username", "password");
token.setRememberMe(true);

  Step Two:

Subject currentUser = SecurityUtils.getSubject();
currentUser.login(token);

  Step Three:

try {
                currentUser.login(token);
            } catch (UnknownAccountException e) {
                // TODO 用户不存在
            } catch (IncorrectCredentialsException e) {
                // TODO 用户名或密码不正确
                // For example, this exception might be thrown 
                //if a user's password is "secret" and "secrets" was entered by mistake
            } catch (LockedAccountException e) {
                // TODO 用户被锁定不能登录
            } catch (AuthenticationException e) {
                // TODO 认证过程中意想不到的异常
            }

AuthenticationStrategy 认证序列

  Shiro SecurityManager实现默认使用ModularRealmAuthenticator实例,为应用程序配置两个或更多领域时,ModularRealmAuthenticator依赖于内部AuthenticationStrategy组件来确定认证尝试成功或失败的条件。 

  Shiro有3个具体AuthenticationStrategy实现:1、AtLeastOneSuccessfulStrategy(任意一个Realm认证成功则成功),默认使用该实现

                      2、FirstSuccessfulStrategy(第一个Realm认证成功)

                      3、AllSuccessfulStrategy(全部Realm认证成功)

猜你喜欢

转载自www.cnblogs.com/BINGJJFLY/p/8967371.html