У меня есть РС SQL Server RDBMS, которая использует Kerberos для аутентификации пользователей.JDBC MS SQL Server Kerberos Auth
Из машины Windows, если я установить дб URL для JDBC: SQLServer: // DB_NAME: DB_PORT; integratedSecurity = истина и добавьте соответствующий sqljdbc_auth.dll к пути, все работает.
Однако я хотел бы использовать аутентификацию Java Kerberos, чтобы иметь возможность использовать тот же код в * nix-машинах.
Так что мой дб URL становится JDBC: SQLServer: // DB_NAME: DB_PORT; integratedSecurity = истина; authenticationScheme = JavaKerberos
Когда я бегу код я получаю следующее исключение:
Exception in thread "main" javax.security.auth.login.LoginException: Unable to obtain Princpal Name for authentication
at com.sun.security.auth.module.Krb5LoginModule.promptForName(Krb5LoginModule.java:796)
at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:667)
at com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:580)
Кто-нибудь знает, почему это происходит? Я должен добавить, что я использую по умолчанию Krb5LoginModule, который предоставляется драйвером jdbc.
Заранее спасибо.
Вы используете MS JDBC или Open JTDS? – gbn
@gbn Я использую MS JDBC. sqljdbc4.jar – nikkatsa
@nikkatsa Вы нашли решение? –