Class NTLoginModule

java.lang.Object
com.sun.security.auth.module.NTLoginModule
所有实现的接口:
LoginModule

public class NTLoginModule extends Object implements LoginModule
这个LoginModule将用户的NT安全信息呈现为一些Principal并将它们与一个Subject关联起来。

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

这个LoginModule还识别debugNative选项。如果在登录配置中设置为true,模块的本机组件的调试消息将输出到输出流System.out。

参见:
  • Constructor Summary

    Constructors
    Constructor
    Description
    创建一个NTLoginModule
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    abort()
    如果LoginContext的整体认证失败,则调用此方法。
    boolean
    commit()
    如果LoginContext的整体认证成功(相关的REQUIRED、REQUISITE、SUFFICIENT和OPTIONAL LoginModules都成功),则调用此方法。
    void
    initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
    初始化这个LoginModule
    boolean
    login()
    导入底层NT系统身份信息。
    boolean
    logout()
    注销用户。

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NTLoginModule

      public NTLoginModule()
      创建一个NTLoginModule
  • Method Details

    • initialize

      public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
      初始化这个LoginModule
      指定者:
      initialize 在接口 LoginModule
      参数:
      subject - 要进行身份验证的Subject
      callbackHandler - 用于与最终用户通信的CallbackHandler(例如提示用户名和密码)。这个特定的LoginModule只提取底层NT系统信息,因此此参数将被忽略。
      sharedState - 共享的LoginModule状态。
      options - 在此特定LoginModule的登录Configuration中指定的选项。
    • login

      public boolean login() throws LoginException
      导入底层NT系统身份信息。
      指定者:
      login 在接口 LoginModule
      返回:
      在所有情况下返回true,因为这个LoginModule不应被忽略。
      抛出:
      FailedLoginException - 如果认证失败。
      LoginException - 如果这个LoginModule无法执行认证。
    • commit

      public boolean commit() throws LoginException
      如果LoginContext的整体认证成功(相关的REQUIRED、REQUISITE、SUFFICIENT和OPTIONAL LoginModules都成功),则调用此方法。

      如果这个LoginModule自己的认证尝试成功(通过检索login方法保存的私有状态来检查),则此方法将将一些不同的Principal与位于LoginModuleContext中的Subject关联起来。如果这个LoginModule自己的认证尝试失败,则此方法将删除最初保存的任何状态。

      指定者:
      commit 在接口 LoginModule
      返回:
      如果这个LoginModule自己的登录和提交尝试成功,则返回true,否则返回false。
      抛出:
      LoginException - 如果提交失败。
    • abort

      public boolean abort() throws LoginException
      如果LoginContext的整体认证失败(相关的REQUIRED、REQUISITE、SUFFICIENT和OPTIONAL LoginModules都未成功),则调用此方法。

      如果这个LoginModule自己的认证尝试成功(通过检索logincommit方法保存的私有状态来检查),则此方法将清除最初保存的任何状态。

      指定者:
      abort 在接口 LoginModule
      返回:
      如果这个LoginModule自己的登录和/或提交尝试失败,则返回false,否则返回true。
      抛出:
      LoginException - 如果中止失败。
    • logout

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

      这个方法将删除NTUserPrincipalNTDomainPrincipalNTSidUserPrincipalNTSidDomainPrincipalNTSidGroupPrincipalNTSidPrimaryGroupPrincipal,这些可能是由commit方法添加的。

      指定者:
      logout 在接口 LoginModule
      返回:
      在所有情况下返回true,因为这个LoginModule不应被忽略。
      抛出:
      LoginException - 如果注销失败。