Не удается найти сферу по умолчанию от Javakerberos SQL Server Connection на Docker LinuxJAVA

Программисты JAVA общаются здесь
Anonymous
Не удается найти сферу по умолчанию от Javakerberos SQL Server Connection на Docker Linux

Сообщение Anonymous »

Я пытаюсь подключиться к экземпляру SQL Server через Javakerberos. Я могу заставить это работать в Windows (не докере) и экземпляре Linux, но я продолжаю получать ошибку «не могу найти сферу по умолчанию» на Linux Docker. Обратите внимание, я использую изображение Docker Amazon Linux, потому что в конечном итоге я пытаюсь заставить это работать над ECS, хотя в настоящее время я тестирую это на моем рабочем столе Docker для Windows. Я пробовал много сочетания флага KRB5.conf и различных командных строк Java, но еще ничего не сработало.java -jar app.jar -Djava.security.krb5.conf=/opt/krb5.conf -Djava.security.auth.login.config=/opt/jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false

Исключение
Caused by: org.ietf.jgss.GSSException: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)
at sun.security.jgss.krb5.Krb5NameElement.getInstance(Krb5NameElement.java:129) ~[na:1.8.0_252]
at sun.security.jgss.krb5.Krb5MechFactory.getNameElement(Krb5MechFactory.java:95) ~[na:1.8.0_252]
at sun.security.jgss.GSSManagerImpl.getNameElement(GSSManagerImpl.java:203) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.getElement(GSSNameImpl.java:477) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.init(GSSNameImpl.java:201) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.(GSSNameImpl.java:170) ~[na:1.8.0_252]
at sun.security.jgss.GSSNameImpl.(GSSNameImpl.java:151) ~[na:1.8.0_252]
at sun.security.jgss.GSSManagerImpl.createName(GSSManagerImpl.java:128) ~[na:1.8.0_252]
at com.microsoft.sqlserver.jdbc.KerbAuthentication.intAuthInit(KerbAuthentication.java:58) ~[mssql-jdbc-7.4.1.jre8.jar!/:na]

krb5.conf
[libdefaults]
default_realm = US.TEST.COM
dns_lookup_kdc = true
dns_lookup_realm = true
ticket_lifetime = 86400
renew_lifetime = 604800
forwardable = true
default_tgs_enctypes = rc4-hmac
default_tkt_enctypes = rc4-hmac
permitted_enctypes = rc4-hmac
udp_preference_limit = 1

[realms]
US.TEST.COM = {
kdc = crldap1.us.test.com
admin_server =crldap1.us.test.com
}

[domain_realm]
.us.test.com = US.TEST.COM
us.test.com = US.TEST.COM

[default_realm]
.us.test.com = US.TEST.COM
us.test.com = US.TEST.COM

jaas.conf
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=false
useTicketCache=true
doNotPrompt=true;
};

строка подключения
spring.datasource.url =jdbc:sqlserver://DBSERVER\\SERVER_DEV;databaseName=DB1;authenticationScheme=JavaKerberos;integratedSecurity=true;userName=user@US.TEST.COM;password=P@SSW0RD


Подробнее здесь: https://stackoverflow.com/questions/635 ... -docker-li

Вернуться в «JAVA»