У нас есть корпоративное настольное приложение для ввода данных Windows 7 для мобильных пользователей (ноутбуков) с локальной базой данных SQL Express 2008 R2 Express, которое синхронизирует данные с базой данных сервера SQL Server 2008 R2. Пользователи могут отключаться от сети / за пределами площадки и по-прежнему просматривать и вводить данные. Данные синхронизируются с сервером при повторном установлении сетевого подключения. Перед синхронизацией данных требуется аутентификация.
Существующая группа пользователей является частью домена организации и напрямую подключается к серверу Sql.
Но теперь есть планы для второй группы пользователей приложений, которые принадлежат к различным партнерским организациям, поэтому они находятся за пределами нашего домена и имеют свои собственные различные домены / учетные записи. Цель состоит в том, чтобы развернуть для них настольное приложение, и они будут периодически синхронизировать данные с нашим SQL Server.
В чем я не уверен: можно ли аутентифицировать пользователей из другого домена? Можно ли управлять разрешениями через Active Directory и т. Д.?
Какой протокол аутентификации следует использовать в этом сценарии? Windows, Forms, SQL и т. Д.?
ИТ-специалисты просят, если возможно, управлять пользователями системы через Active Directory. Можно ли управлять доступом пользователей внешнего домена через Active Directory?
Проблема, с которой вы столкнулись, связана с аутентификацией. Приложение запрашивает аутентификацию SQL-сервера. Вам необходимо предоставить аутентификацию SQL serer вместо аутентификации Windows, иначе SQL-сервер не будет работать, если какой-либо другой пользователь войдет в ту же систему или администратор выйдет из системы, и, следовательно, приложение будет выдавать проблемы.
Если вы хотите управлять своим внешним доменом при использовании активного каталога, вы можете использовать сторонний инструмент, поскольку аутентификация меньше, когда она используется как из Windows, так и с сервера sql.
Если вы не можете установить доверительные отношения между доменами, вы не сможете аутентифицировать пользователей из внешнего домена в своем AD.
Из вашего вопроса не ясно, как клиенты будут получать доступ к вашему серверу, прямому подключению, веб-службам wsdl, WCF, веб-интерфейсу (мыло) и т. Д.
Если вы будете использовать веб-сервисы, вы можете создать интерфейс аутентификации / синхронизации. Метод аутентификации примет учетные данные и аутентифицирует их в вашей AD (то есть с использованием LDAP). После аутентификации веб-служба может выдавать себя за этого пользователя и использовать SSPI для подключения к серверу SQL для синхронизации данных.
Тем не менее, вам необходимо создать отдельные учетные записи пользователей в AD для всех клиентов.