Class 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。

  • Constructor Details

    • UnixLoginModule

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

    • initialize

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

      public boolean login() throws LoginException
      对用户进行认证(第一阶段)。

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

      指定者:
      login 在接口 LoginModule
      返回:
      在所有情况下为true(不应忽略此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
      返回:
      在所有情况下为true(不应忽略此LoginModule)。
      抛出:
      LoginException - 如果注销失败