- java.lang.Object
-
- com.sun.security.auth.module.UnixLoginModule
-
- 实现的所有接口
-
LoginModule
public class UnixLoginModuleextends Objectimplements LoginModule
这LoginModule
导入用户的UnixPrincipal
信息(UnixPrincipal
,UnixNumericUserPrincipal
,和UnixNumericGroupPrincipal
),并将其与当前的关联Subject
。此LoginModule识别调试选项。 如果在登录配置中设置为true,则调试消息将输出到输出流System.out。
-
-
构造方法摘要
构造方法 构造器 描述 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
in interfaceLoginModule
- 结果
- 在所有情况下都是如此(不应忽略此
LoginModule
)。 - 异常
-
FailedLoginException
- 如果尝试检索基础系统信息失败。 -
LoginException
- 如果身份验证失败
-
commit
public boolean commit() throws LoginException
提交身份验证(第二阶段)。如果LoginContext的整体身份验证成功(相关的REQUIRED,REQUISITE,SUFFICIENT和OPTIONAL LoginModules成功),则调用此方法。
如果此LoginModule自己的身份验证尝试成功(导入Unix身份验证信息成功),则此方法将Unix Principals与当前与
Subject
绑定的LoginModule
。 如果此LoginModule的身份验证尝试失败,则此方法将删除最初保存的任何状态。- Specified by:
-
commit
在界面LoginModule
- 结果
- 如果此LoginModule自己的登录和提交尝试成功,则返回true,否则返回false。
- 异常
-
LoginException
- 如果提交失败
-
abort
public boolean abort() throws LoginException
中止身份验证(第二阶段)。如果LoginContext的整体身份验证失败,则调用此方法。 (相关的必需,要求,充足和可选的LoginModule没有成功)。
此方法清除最初作为
login
和commit
方法的身份验证尝试的一部分保存的任何状态。- Specified by:
-
abort
in interfaceLoginModule
- 结果
- 如果此LoginModule自己的登录和/或提交尝试失败,则返回false,否则返回true。
- 异常
-
LoginException
- 如果中止失败
-
logout
public boolean logout() throws LoginException
注销用户此方法删除与
Subject
关联的Subject
。- Specified by:
-
logout
,接口LoginModule
- 结果
- 在所有情况下
LoginModule
true(不应忽略此LoginModule
)。 - 异常
-
LoginException
- 如果注销失败
-
-