Class UnixLoginModule

  • All Implemented Interfaces:
    LoginModule


    public class UnixLoginModule
    extends Object
    implements LoginModule
    LoginModule导入用户的Unix Principal信息( UnixPrincipalUnixNumericUserPrincipal ,并UnixNumericGroupPrincipal ),并与当前的关联Subject

    该LoginModule识别调试选项。 如果在登录配置中设置为true,则调试消息将被输出到输出流System.out。

    • 构造方法详细信息

      • UnixLoginModule

        public UnixLoginModule​()
    • 方法详细信息

      • initialize

        public void initialize​(Subject subject,
                               CallbackHandler callbackHandler,
                               Map<String,?> sharedState,
                               Map<String,?> options)
        初始化 LoginModule
        Specified by:
        initialize在接口 LoginModule
        参数
        subject - 要验证的 Subject
        callbackHandler - 用于与最终用户通信的 CallbackHandler (例如,提示用户名和密码)。
        sharedState - 共享 LoginModule状态。
        options - 在这个特定的 LoginModule的登录 Configuration指定的选项。
      • login

        public boolean login​()
                      throws LoginException
        验证用户(第一阶段)。

        该方法的实现尝试通过本机Unix系统调用来检索用户的Unix Subject信息。

        Specified by:
        login在接口 LoginModule
        结果
        在所有情况下都是这样(这个 LoginModule不应该被忽略)。
        异常
        FailedLoginException - 如果检索底层系统信息的尝试失败。
        LoginException - 如果身份验证失败
      • commit

        public boolean commit​()
                       throws LoginException
        提交认证(第二阶段)。

        如果LoginContext的整体身份验证成功(相关的请求,REQUISITE,SUPPICIENT和可选LoginModules成功),则调用此方法。

        如果此LoginModule自身的身份验证尝试成功(导入Unix认证信息成功),则该方法将Unix主体与当前与Subject绑定的LoginModule 如果此LoginModule的身份验证尝试失败,则此方法将删除最初保存的任何状态。

        Specified by:
        commit在接口 LoginModule
        结果
        如果此LoginModule自己的登录和提交尝试成功,则为true,否则为false。
        异常
        LoginException - 如果提交失败
      • abort

        public boolean abort​()
                      throws LoginException
        中止身份验证(第二阶段)。

        如果LoginContext的整体身份验证失败,则调用此方法。 (相关要求,必要,有效和可选的LoginModules没有成功)。

        该方法可以清除logincommit方法最初保存为认证尝试的一部分的状态。

        Specified by:
        abort在接口 LoginModule
        结果
        如果此LoginModule自己的登录和/或提交尝试失败,则为false,否则为true。
        异常
        LoginException - 如果中止失败
      • logout

        public boolean logout​()
                       throws LoginException
        注销用户

        此方法将删除与Subject相关联的Subject

        Specified by:
        logout在接口 LoginModule
        结果
        在所有情况下都是这样(这个 LoginModule不应该被忽略)。
        异常
        LoginException - 如果注销失败