- java.lang.Object
-
- com.sun.security.auth.module.UnixLoginModule
-
- All Implemented Interfaces:
-
LoginModule
public class UnixLoginModule extends Object implements LoginModule
这LoginModule导入用户的UnixPrincipal信息(UnixPrincipal,UnixNumericUserPrincipal,并UnixNumericGroupPrincipal),并与当前的关联Subject。该LoginModule识别调试选项。 如果在登录配置中设置为true,则调试消息将被输出到输出流System.out。
-
-
构造方法摘要
构造方法 Constructor 描述 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没有成功)。
该方法可以清除
login和commit方法最初保存为认证尝试的一部分的状态。- Specified by:
-
abort在接口LoginModule - 结果
- 如果此LoginModule自己的登录和/或提交尝试失败,则为false,否则为true。
- 异常
-
LoginException- 如果中止失败
-
logout
public boolean logout() throws LoginException注销用户此方法将删除与
Subject相关联的Subject。- Specified by:
-
logout在接口LoginModule - 结果
-
在所有情况下都是这样(这个
LoginModule不应该被忽略)。 - 异常
-
LoginException- 如果注销失败
-
-