我在使用Kerberos向Wildfly 8.2.0上的MS Sql Server设置集成身份验证时遇到问题。
这是我到目前为止所做的事情:
管理将其用于Wildfly 9.0.2,仅仅因为Wildfly 9包含了" new"登录模块类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>
完美无缺。在我添加&#34; addGSSCredential&#34;之前到&#34;真&#34;我收到了错误&#34;主题中没有匹配的凭据!&#34;但后来我读到了这个人在这里说的话:https://developer.jboss.org/message/913652#913652。
现在,问题是我不想要Wildfly 9,我想在Wildfly 8.2上设置它。应该可能吗?
所以,在Wildfly 8.2上:
那么,有没有人使用Sun类在Wildfly 8.2上为数据源设置Kerberos?或者我必须升级库以从jboss-negotiation获取KerberosLoginModule吗?
答案 0 :(得分:1)
我可以在WildFly 8.2.1.Final中使用此功能的唯一方法是将jboss-negotiation-common-<version>.jar
和jboss-negotiation-extras-<version>.jar
从2.2.7.Final
更新为3.0.2.Final
,提供的版本使用WildFly 10.1.0.Final(对不起,我没有尝试使用WildFly 9中的那些)。
您需要更新modules\system\layers\base\org\jboss\security\negotiation\main\
以引用新的广告罐。
或者,您可以使用WildFly 10.1.0.Final附带的版本替换整个org.jboss.security.negotiation
模块。
作为参考,standalone.xml
中的登录模块是:
<login-module code="org.jboss.security.negotiation.KerberosLoginModule" flag="required" module="org.jboss.security.negotiation">
<module-option name="useTicketCache" value="true"/>
<module-option name="debug" value="true"/>
<module-option name="refreshKrb5Config" value="true"/>
<module-option name="addGSSCredential" value="true"/>
</login-module>
我发现我无需设置isInitiator
或delegationCredential
选项。
PS。感谢您发布此问题!我在Kerberos身份验证方面遇到了很多问题,因为我将storeKey
设置为true
,直到我遇到此问题。
PSS。我应该补充一点,我没有连接到MS SQL Server,而是连接到Apache Phoenix数据源,这可以解释为什么我不需要设置一些登录选项。