类 UnixLoginModule

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

public class UnixLoginModule extends Object implements LoginModule
LoginModule 导入用户的 Unix Principal 信息(UnixPrincipalUnixNumericUserPrincipalUnixNumericGroupPrincipal)并将它们与当前的 Subject 关联。

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

  • 构造方法详细信息

    • UnixLoginModule

      public UnixLoginModule()
      创建一个 UnixLoginModule
  • 方法详情

    • initialize

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

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

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

      指定者:
      login 在接口 LoginModule
      返回:
      在所有情况下都是正确的(不应忽略此 LoginModule)。
      抛出:
      FailedLoginException - 如果尝试检索基础系统信息失败。
      LoginException - 如果身份验证失败
    • commit

      public boolean commit() throws LoginException
      提交身份验证(第二阶段)。

      如果 LoginContext 的整体身份验证成功(相关的 REQUIRED、REQUISITE、SUFFICIENT 和 OPTIONAL LoginModules 成功),则调用此方法。

      如果此 LoginModule 自己的身份验证尝试成功(成功导入 Unix 身份验证信息),则此方法将 Unix Principals 与当前绑定到 LoginModuleSubject 相关联。如果此 LoginModule 的身份验证尝试失败,则此方法会删除最初保存的所有状态。

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

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

      如果 LoginContext 的整体身份验证失败,则调用此方法。 (相关的 REQUIRED、REQUISITE、SUFFICIENT 和 OPTIONAL LoginModules 没有成功)。

      此方法清除最初保存为来自 logincommit 方法的身份验证尝试的一部分的任何状态。

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

      public boolean logout() throws LoginException
      注销用户

      此方法删除与 Subject 关联的 Principals。

      指定者:
      logout 在接口 LoginModule
      返回:
      在所有情况下都是正确的(不应忽略此 LoginModule)。
      抛出:
      LoginException - 如果注销失败