简体   繁体   English

Java / WebLogic应用程序中的集成Windows身份验证(NTLM)?

[英]Integrated Windows Authentication (NTLM) in a Java/WebLogic app?

Our team built a WebLogic intranet site. 我们的团队构建了一个WebLogic Intranet网站。 Users currently must type in their Active Directory login/password to access the site. 用户当前必须输入其Active Directory登录名/密码才能访问该站点。

Since most of our users are already logged in to the domain, we would like to use Integrated Windows Authentication so users do not have to re-type their login password. 由于我们的大多数用户已经登录到域,因此我们想使用集成Windows身份验证,因此用户不必重新输入其登录密码。

I have done this with .NET applications hosted on Windows/IIS. 我已经使用Windows / IIS上托管的.NET应用程序完成了此操作。 However, this app is built in WebLogic/Java and is hosted on RedHat Linux. 但是,此应用程序内置于WebLogic / Java中,并托管在RedHat Linux上。

Is there a step-by-step guide or prototype application available? 有分步指南或原型应用程序可用吗?

(Please assume for this question that we are standardized on Internet Explorer browser.) (请为这个问题假设我们在Internet Explorer浏览器上进行了标准化。)

Have a look at jcifs . 看看jcifs Although its mechanism is deprecated (it does not support NTLMv2) its still working in my projects. 尽管不推荐使用它的机制(它不支持NTLMv2),但它仍在我的项目中起作用。 You might have to use an older version. 您可能必须使用旧版本。 They recommend to use jespa , but its not free. 他们建议使用jespa ,但它不是免费的。

There is also spnego , it has a filter too. 也有spnego ,它也有一个过滤器。 And tomcatspnego . 还有tomcatspnego But I dont know how easy they are to use. 但是我不知道它们使用起来有多容易。

Waffle looks also interesting. 华夫饼看起来也很有趣。

Here is another answer with some details: Authenticating against Active Directory with Java on Linux 这是另一个详细信息的答案: 在Linux上使用Java对Active Directory进行身份验证

So far I have only used jcifs, so I can not tell you which other option is the best. 到目前为止,我只使用了jcifs,所以我不能告诉您哪个其他选项是最好的。 Apaches HttpClient also has some capabilities, I used it, but not as SSO in a webapp. 我使用过Apaches HttpClient ,它也具有某些功能,但在webapp中不作为SSO使用。

EDIT: 编辑:

I found another project: ntlm-authentication-in-java , but I have not used or tested it yet. 我找到了另一个项目: ntlm-authentication-in-java ,但是我还没有使用或测试过它。

WebLogic supports SPNEGO natively and therefore, you do not need to use workarounds. WebLogic本机支持SPNEGO,因此,您无需使用变通办法。 More documentation is available here - http://docs.oracle.com/cd/E21764_01/web.1111/e13707/sso.htm . 此处提供了更多文档-http://docs.oracle.com/cd/E21764_01/web.1111/e13707/sso.htm You can also refer to this blog article for step-by-step process - http://oraclelabspace.blogspot.in/2012/01/configurining-sso-using-kerberosspnego.html 您也可以参考此博客文章以了解分步过程-http://oraclelabspace.blogspot.in/2012/01/configurining-sso-using-kerberosspnego.html

Look at this answer , if you use NTLMv1, it gets you the logged in user's username. 查看此答案 ,如果您使用NTLMv1,它将获取已登录用户的用户名。 (does not work with NTLMv2 though..) (虽然不适用于NTLMv2。)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM