- 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
- 如果注销失败
-
-