Simple
“简单”身份验证包括向 LDAP 服务器发送 Client 端(用户)的标准 DN 和 Client 端的明文密码(请参阅RFC 2251和RFC 2829)。由于可以从网络读取密码,因此该机制存在安全问题。为避免以这种方式公开密码,您可以在加密通道(例如 SSL)中使用简单的身份验证机制,前提是 LDAP 服务器支持该机制。
LDAP v2 和 v3 均支持简单身份验证。
要使用简单的身份验证机制,必须按如下所示设置三个身份验证环境属性。
-
Context.SECURITY_AUTHENTICATION.
- 设置为
"simple"
。
- 设置为
-
- 设置为正在验证的实体的标准 DN(例如
"cn=S\. User, ou=NewHires, o=JNDITutorial"
)。类型为java\.lang\.String
。
- 设置为正在验证的实体的标准 DN(例如
-
- 设置为主体的密码(例如
"mysecret"
)。它的类型为java\.lang\.String
,char
数组(char\[\]
)或byte
数组(byte\[\]
)。如果密码是java\.lang\.String
或char
数组,则对于 LDAP v3 使用 UTF-8 进行编码,对于 LDAP v2 使用 ISO-Latin-1 进行编码以传输到服务器。如果密码是byte\[\]
,那么它将直接发送到服务器。
- 设置为主体的密码(例如
请参阅本节前面的example,它说明了如何使用简单身份验证。
注意: 如果您为Context\.SECURITY_CREDENTIALS
环境属性提供一个空字符串,一个空byte
/char
数组或null
,则认证机制将为"none"
。这是因为 LDAP 要求密码必须为非空才能进行简单身份验证。如果未提供密码,则协议会自动将认证转换为"none"
。