当前位置: 首页 > 面试题库 >

在Java应用程序中使用NTLM身份验证

包谭三
2023-03-14
问题内容

我想在我的Java应用程序中使用Windows NTLM认证来透明地认证Intranet用户。如果使用浏览器(单点登录),用户将不会注意到任何身份验证。

我发现了一些具有NTLM支持的库,但是不知道要使用哪个库:

  • http://spnego.sourceforge.net/
  • http://sourceforge.net/projects/ntlmv2auth/
  • http://jcifs.samba.org/
  • http://www.ioplex.com/jespa.html
  • http://www.luigidragone.com/software/ntlm-authentication-in-java/

有什么建议从哪里开始?


问题答案:

在以上列表中,仅ntlmv2-auth和Jespa支持NTLMv2。Jespa是可行的,但具有商业意义。ntlmv2-auth我还没有尝试过,但是它基于Liferay的代码,我以前见过它可以工作。

“ ntlm-authentication-in-
java”仅是NTLMv1,它是旧的,不安全的,并且随着人们升级到更新的Windows版本,在越来越少的环境中工作。JCIFS曾经有一个NTLMv1
HTTP身份验证筛选器,但是在以后的版本中将其删除,因为它的实现方式相当于对不安全协议的中间人攻击。(’ntlm-authentication-in-
java’似乎也是如此。)


“ spnego”项目是Kerberos而不是NTLM。如果您要像IIS一样复制完整的IWA,则需要同时支持NTLMv2和Kerberos(“
NTLM”身份验证,“协商”身份验证,NTLMSSP-in-SPNego身份验证和NTLM-Masquerading-as-Negotiate身份验证)。



 类似资料:
  • 问题内容: 我正在使用以下过滤器在我的Web应用程序中启用NTLM身份验证。 我得到Windows浏览器身份验证提示。运行正常。除了以下事实外- 我无法确定身份验证是成功还是失败! * 两种情况均无错误。 *在每种情况下都将打印用户名(正确或相反),工作站等。 web.xml很简单: 问题答案: 您收到的是Type 3消息,但是除了打印出详细信息之外,您什么都没做。此时,您需要验证客户的响应,并发

  • 问题内容: 我们的团队构建了一个WebLogic Intranet网站。用户当前必须输入其Active Directory登录名/密码才能访问该站点。 由于我们的大多数用户已经登录到域,因此我们想使用集成Windows身份验证,因此用户不必重新输入其登录密码。 我已经使用Windows / IIS上托管的.NET应用程序完成了此操作。但是,此应用程序内置于WebLogic / Java中,并托管在

  • 在.NET和java应用程序中(我的意思是我有两个用这两种技术编写的孪生应用程序),我希望使用AD/LDAP执行autologin。流程为: 0)用户登录到MyDomain域中的Windows计算机 1)浏览app URL 2)应用程序检查是否是正确登录的广告用户 3)如果用户正确登录,我会检查App DB以查看是否映射到users表中 4)如果匹配可以登录,则绕过登录屏幕,在应用程序中对用户进行

  • 我有一个iOS应用程序,实现了与CognitoYourUserPoolsSample非常相似的Cognito身份验证。最重要的片段在SignInViewController.swift中: > 后来,我们得到成功或错误的响应: 我也有一个用户界面测试,它填充用户名和密码,点击登录并验证响应: 目前,该测试针对的是实际的AWS基础设施,由于许多原因,该基础设施并不理想。我想要的是模拟来自AWS的各种

  • 问题内容: 尝试使用JavaMail中的NTLM连接到Exchange服务器。我可以连接到SMTP,但不能连接到IMAP。我还可以使用相同的主机/用户名/密码通过OS X Mail.app应用程序进行身份验证,帐户类型=“ IMAP”,端口143,ssl = false,authentication = NTLM,域名=“。 连接代码: 输出: 我尝试通过http://www.oracle.com

  • 问题内容: 我正在使用Spring 3 Web应用程序,因为Spring 3不支持NTLM身份验证,可以与Spring安全性一起使用的其他替代方法有哪些?这样,当用户登录到Active Directory时就可以通过应用程序进行身份验证了吗? 目前,Kerberos解决方案不是一个选择,NTLM是唯一的选择。 任何帮助都是非常明显的。 谢谢 问题答案: 我已经做过一次了。在这里抓住它。它将需要在A