2016-02-21 5 views
2

Я новичок в SQL Server, я планирую создать распределенное приложение в Java для SQL Server. Я хотел бы знать, что если есть способ для обработки следующих сценариев:SQL Server распределенный вход с аутентификацией Windows

  1. UserA входит в на machineâ и выбирает проверки подлинности Windows, в качестве учетных данных в приложении. Второй компонент моего приложения находится на MachineB (компоненты взаимодействуют с использованием веб-сервисов RESTful), а на MachineB установлен SQL Server. MachineB имеет код для подключения к SQL Server.

    Я хочу знать, каковы шаги, чтобы это произошло, можно ли здесь использовать аутентификацию Windows?

  2. ПользовательA регистрируется на MachineA и использует Проверка подлинности Windows, код для подключения находится на MachineB и SQL Server находится на MachineC. Каковы необходимые шаги, описанные здесь, чтобы это произошло, строка подключения, и если мне нужно сделать какой-либо домен и т.д.

+0

Учетные данные пользователя не включены в строку подключения, если указана проверка подлинности Windows. Вместо этого используется токен безопасности потока, устанавливающего соединение. Требуется ли подключение к SQL Server с использованием учетных данных пользователя конечного пользователя, независимо от количества переходов? Являются ли все уровни под управлением Windows? –

+0

Все машины используют Windows. Компоненты взаимодействуют через webservices (без гражданства). Хотите использовать любые учетные данные, предоставленные userA на MachineA, независимо от # перелетов. –

+0

Как уже писал этот _should_, но по моему опыту, как правило, нет, если у вас нет очень хорошо осведомленного человека инфраструктуры, чтобы помочь. Если у вас есть внешний бесполезный невообразимый процесс, связанный с внешним поставщиком поддержки, который управляет вашими серверами, забудьте об этом. –

ответ

0

Предполагая, что все машины на том же домене, да это будет работать. Возможно, вам потребуется настроить Kerberos (SetSPN), чтобы убедиться, что услуге доверяют. Вы должны проверить Microsoft® Kerberos Configuration Manager for SQL Server® от Microsoft. Если Java используется с веб-сайта, вам также потребуется настроить SPN для этой службы. Когда все настроено, Чтобы подключиться с помощью Java, ваша ConnectionString должна выглядеть примерно так:

jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true; 

Надеюсь, что это поможет.