2009-06-04 51 views
1

任何人都可以详细说明不同吗?NtlmSsp vs kerberos

我目前使用ntlmssp.authenticaten(jcifs),但似乎无法执行getPassword()。它总是返回null

回答

3

有区别。

随着Kerberos,你将不得不要求你的域管理员为你的Web应用程序的服务主体名称(SPN)。从本质上讲,这是Active Directory中的一个条目,带有一个加密密钥,可让您的Web应用程序解码身份验证请求。

随着NTLM,你不需要你的管理员的合作。您的网络应用程序将从客户端(即浏览器)获取可用于尝试登录到域控制器的信息。来自客户端的信息不包括用户的密码 - 这太不安全了。相反,NTLM筛选器会从域控制器收到挑战,并将其传递给客户端。客户端通过挑战密码来创建响应。当此响应作为登录请求发送回域控制器时,域控制器将通知jcifs过滤器密码是否正确。

某些jcifs类有一个getPassword方法,因为它允许您直接从用户名和密码创建登录请求。如果您使用这种方法,那么以及设置密码您可以检索它。但是,这不是您让浏览器为您进行身份验证时使用的方法,因此您将无法检索到实际的密码。