【发布时间】:2016-03-16 07:26:27
【问题描述】:
我在为 Wildfly 8.2.0 上的 MS Sql Server 设置使用 Kerberos 的集成身份验证时遇到问题。
这是我到目前为止所做的:
-
设法让它在 Wildfly 9.0.2 上运行,仅仅是因为 Wildfly 9 包含“新”登录模块类 org.jboss.security.negotiation.KerberosLoginModule。像这样配置的安全域:
<login-module code="org.jboss.security.negotiation.KerberosLoginModule" flag="required" module="org.jboss.security.negotiation"> <module-option name="storeKey" value="false"/> <module-option name="useKeyTab" value="false"/> <module-option name="principal" value="app-srv@REALM"/> <module-option name="useTicketCache" value="true"/> <module-option name="debug" value="true"/> <module-option name="refreshKrb5Config" value="true"/> <module-option name="isInitiator" value="true"/> <module-option name="addGSSCredential" value="true"/> <module-option name="delegationCredential" value="USE"/> </login-module>工作得很好。在将“addGSSCredential”添加到“true”之前,我收到错误“主题中没有匹配的凭据!”但后来我读到了这个人在这里说的话:https://developer.jboss.org/message/913652#913652。
现在,问题是我不想要 Wildfly 9,我想在 Wildfly 8.2 上设置它。应该可以吧?
所以,在 Wildfly 8.2 上:
- Wildfly 8.2 没有 KerberosLoginModule。它改为使用 sun 提供的登录模块 (com.sun.security.auth.module.Krb5LoginModule),指定为 here
- 一旦我让 Wildfly 8 使用 Sun 的这个登录模块(不能开箱即用 - 这让我想知道 JBoss 的人是否真的测试过这个? - ...因为加载登录类的模块(org.picketbox) 不依赖于 sun.jdk 模块,并且由于 classnotfoundexception 异常失败),在添加 addGSSCredentials 选项之前,我偶然发现了在 Wildfly 9 上遇到的相同错误:“主题中没有匹配的凭据!”李>
- 问题是,Sun 登录模块类不支持 addGSSCredentials。
那么,有没有人使用 Sun 类为 Wildfly 8.2 上的数据源设置 Kerberos?或者我必须升级库以从 jboss-negotiation 获取 KerberosLoginModule?
【问题讨论】:
标签: java sql-server wildfly kerberos wildfly-8