我需要配置JBoss EAP 6.3来理解Kerberos身份验证 .
我的环境包括:
使用JBoss EAP 6.3的
-
linux服务器
使用Windows 7 64位Chrome的 -
客户端工作站
-
Windows Server 2008 Active Directory(充当KDC)
我已经尝试了很多例子,但没有一个能够奏效 . 基本上我根据这份文件做了一切:RedHat JBoss 6.3 Kerberos
和本文件:JBoss developer blog
我从测试servlet(jboss-negotiation-toolkit)获得的所有内容都是这样的消息:WARN [org.jboss.security.auth.spi.AbstractServerLoginModule](http- / 172.27.185.220:8080-1)不支持的协商机制'NTLM'
有没有人全力以赴,并以某种方式解决了它?
约瑟夫,提前谢谢你
2 回答
看看我的SPNEGO演示项目https://github.com/kwart/spnego-demo
尝试使其与链接的kerberos-using-apacheds项目一起使用 .
如果您可以成功对ApacheDS Kerberos进行身份验证,请尝试更改配置(
krb5.conf
和host
安全域中的Krb5LoginModule
选项)以使用Active Directory进行身份验证 .常见的陷阱是错误的 SPN name . 服务主体必须采用 HTTP/hostname@REALM 格式(例如
HTTP/www.my-company.com@MY-COMPANY.COM
)您可以在我的旧演示文稿中找到其他一些提示 - http://www.slideshare.net/josef.cacek/dev-conf2013-ltkerberosas7
谢谢你们 . 正如我之前所说,我们终于做到了 . 我们的解决方案是
0)客户端计算机必须在域中,前提是域凭据不够 .
创建密钥表(对于2008服务器是关键的kvno 0):
停止JBoss并将其传输到JBoss配置文件夹下的linux . /opt/jboss-domain/standalone/configuration/bbb.keytab
1)JBoss配置(standalone.xml)
2)Web App配置:
3)在AD上重启密钥分发服务
4)启动JBoss
5)将JBoss Web服务器地址添加到可信主机,进入Intranet部分下的Internet设置 . 一切都从那一刻起作用 .
Rest Web App可以使用它来获取有效的凭据: