Имам проблем с настройването на интегрирана автентификация с Kerberos към MS Sql сървър на Wildfly 8.2.0.
Ето какво съм направил досега:
Успях да го пусна на 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), както е посочено тук
- След като накарах Wildfly 8 да използва този модул за влизане от Sun (НЕ работи веднага - което ме кара да се чудя дали момчетата от JBoss наистина са тествали това? - ... защото модулът, който зарежда класа за влизане (org. picketbox) не зависи от модула sun.jdk и се проваля чудесно с classnotfoundexception), попаднах на същата грешка, която получавах на Wildfly 9, преди да добавя опцията addGSSCredentials: „Няма съответстващи идентификационни данни в Subject!“
- Проблемът е, че addGSSCredentials не се поддържа от модулния клас за вход на Sun.
И така, някой настройвал ли е Kerberos за източник на данни на Wildfly 8.2, използвайки класа Sun? Или трябва да надстроя библиотеките, за да получа KerberosLoginModule от jboss-negotiation?