java.lang.Object
com.sun.security.auth.module.UnixLoginModule
- 所有已实现的接口:
-
LoginModule
这个
LoginModule
导入用户的Unix Principal
信息(UnixPrincipal
、UnixNumericUserPrincipal
和UnixNumericGroupPrincipal
),并将它们与当前的Subject
关联起来。
这个LoginModule识别调试选项。如果在登录配置中设置为true,调试消息将输出到输出流System.out。
-
Constructor Summary
-
Method Summary
-
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
对用户进行认证(第一阶段)。此方法的实现尝试通过进行本机Unix系统调用来检索用户的Unix
Subject
信息。- 指定者:
-
login
在接口LoginModule
- 返回:
-
在所有情况下为true(不应忽略此
LoginModule
)。 - 抛出:
-
FailedLoginException
- 如果尝试检索底层系统信息失败。 -
LoginException
- 如果认证失败
-
commit
提交认证(第二阶段)。如果LoginContext的整体认证成功(相关的REQUIRED、REQUISITE、SUFFICIENT和OPTIONAL LoginModules成功),则调用此方法。
如果这个LoginModule自己的认证尝试成功(导入Unix认证信息成功),那么此方法将Unix Principals与当前绑定到
LoginModule
的Subject
关联起来。如果这个LoginModule的认证尝试失败,则此方法将删除最初保存的任何状态。- 指定者:
-
commit
在接口LoginModule
- 返回:
- 如果这个LoginModule自己的登录和提交尝试成功,则为true,否则为false。
- 抛出:
-
LoginException
- 如果提交失败
-
abort
中止认证(第二阶段)。如果LoginContext的整体认证失败(相关的REQUIRED、REQUISITE、SUFFICIENT和OPTIONAL LoginModules未成功),则调用此方法。
此方法清除作为认证尝试的一部分从
login
和commit
方法中最初保存的任何状态。- 指定者:
-
abort
在接口LoginModule
- 返回:
- 如果这个LoginModule自己的登录和/或提交尝试失败,则为false,否则为true。
- 抛出:
-
LoginException
- 如果中止失败
-
logout
注销用户此方法移除与
Subject
关联的Principals。- 指定者:
-
logout
在接口LoginModule
- 返回:
-
在所有情况下为true(不应忽略此
LoginModule
)。 - 抛出:
-
LoginException
- 如果注销失败
-