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

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

Сообщение Anonymous »

Я пытаюсь подключиться к экземпляру SQL Server через Javakerberos. Я могу заставить это работать в Windows (не докере) и экземпляре Linux, но я продолжаю получать ошибку «не могу найти сферу по умолчанию» на Linux Docker. Обратите внимание, я использую изображение Amazon Linux Docker, потому что в конечном итоге я пытаюсь заставить это работать на ECS, хотя в настоящее время я тестирую это на своем рабочем столе Docker для Windows. < /P>
Есть ли у кого -нибудь из вас предложение о том, что попробовать? Я пробовал много сочетания флага KRB5.conf и различных командных линий Java, но еще ничего не сработало. /p>
команда запуска JAR в экземпляре Docker < /strong> < /p>
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»