2017-01-26 5 views
0

У меня есть приложение, разработанное в MS Access, и теперь я перехожу к веб-приложению с Apache Tomcat.Аутентификация SQLServer Windows через Tomcat

Приложение Access имеет базу данных SQL Server, полностью связанную, поэтому она имеет полный контроль над данными.

Приложение запускает скрытый процесс, передавая аутентификацию ActiveDirectory на SQL Server, поэтому пользователи никогда не вводят свои пароли.

Но из Tomcat я попытался подключиться к SQL Server с помощью драйвера JDBC и проверки подлинности Windows (jdbc:sqlserver://SERVERADDRESS;integratedSecurity=true;) всего за один файл jsp, чтобы проверить подключение к базе данных.

Проблема заключается в том, чтобы вместо входа пользователя, запускавшего приложение через свой веб-браузер, он передавал идентификатор сервера (который равен DOMAIN\SERVERNAME).

Могу ли я получить имя пользователя таким образом, или мне нужно полностью изменить систему подключения?

ответ

1

Невозможно исключить делегирование полномочий/услуги S4U для Kerberos. Тем более, если вы не используете реализацию Kerberos Java, а в Windows SSPI.

Начните поиск пользователей через SPNEGO, а затем вернитесь.

+0

Является ли Kerberos полностью прозрачным? Я имею в виду, что пользователям не нужно было ничего делать? –

+0

Да, это правильно. Все настроено на уровне Active Directory и на вашем коде. Zero conf для ваших клиентов. IE позволяет делегировать по умолчанию. Firefox - это небольшой переключатель. –

+0

Спасибо за помощь! –

Смежные вопросы