zoukankan      html  css  js  c++  java
  • 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认证成功)

  • 相关阅读:
    JAVA WEBSERVICE服务端&客户端的配置及调用(基于JDK)
    An internal error occurred during: "Launching New_configuration"
    Android 创建虚拟机时“提示no system images installed for this target”
    [转] 传说中的WCF(2):服务协定的那些事儿
    [转] 传说中的WCF
    python的包管理
    python入门常用方法(转json,模拟浏览器请求头,写入文件)
    python读写数据篇
    python跳坑手记
    python爬虫入门篇
  • 原文地址:https://www.cnblogs.com/BINGJJFLY/p/8967371.html
Copyright © 2011-2022 走看看