java - NtlmSsp 与 kerberos

标签 java liferay ntlm smb jcifs

任何人都可以详细说明不同之处吗?

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

最佳答案

有区别。

Kerberos ,您必须向您的域管理员询问您的 Web 应用程序的服务主体名称 (SPN)。本质上,这是 Active Directory 中的一个条目,带有一个加密 key ,可以让您的 Web 应用解码身份验证请求。

NTLM ,您不需要管理员的合作。您的网络应用程序将从客户端(即浏览器)获取一些信息,它可以使用这些信息尝试登录到域 Controller 。来自客户端的信息不包括用户的密码——那太不安全了。相反,NTLM 筛选器从域 Controller 获取质询,并将其传递给客户端。客户端对密码和挑战进行哈希处理以创建响应。当此响应作为登录请求发送回域 Controller 时,域 Controller 将告诉 jcifs 过滤器密码是否正确。

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

关于java - NtlmSsp 与 kerberos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949190/

相关文章:

.net - ASP.NET 从 NTLM 身份验证表单获取用户名和密码

c# - 如何为 Kestrel 主机添加 NTLM 支持?

java - 如何在cxf java中将查询字符串反序列化为pojo

liferay - 在 Liferay 7 中,如何将用户角色配置为不继承 guest 权限?

java - 在Java中模拟函数模板

java - 如何让 Liferay 不产生压缩的 HTML 代码?

apache - Liferay 80端口转发

java - 如何使用 Android SDK (Java) 在 Microsoft Report Server 2008 上进行身份验证?

java - android/java桌面: decide what class to use depending on target

java - DialogFragment - show() 方法