Какой метод аутентификации подходит для клиентского приложения Sync Framework (синхронизация базы данных)?
Пользователи будут собирать данные о клиентском приложении Windows в местах с плохим интернет-соединением. Дни или даже недели за пределами любого сетевого подключения. Счастливчики принесут свой ноутбук обратно в региональный офис, чтобы синхронизировать данные, которые они собрали, когда они войдут в сеть компании. Другим придется прибегнуть к подключению к интернет-клиенту / клиенту и / или интернет-кафе для выполнения синхронизации данных.
Приложение сохраняет данные в локальной базе данных SQL Server 2008 R2 Express, и клиент будет инициировать синхронизацию базы данных со стандартом SQL Server 2008 в HQ по мере того, как будет доступно соединение.
Аутентификация пользователя и безопасность на основе ролей являются требованиями Приложения. Какой метод я должен использовать: проверка подлинности с помощью форм или проверка подлинности Windows? (И я думаю, что натолкнулся на третий тип, называемый Custom Authentication?)
Извините, я действительно потерялся в аутентификации - впервые делаю это и не уверен в плюсах и минусах каждого типа. Кто-нибудь может посоветовать, что я должен использовать для этого сценария?
ОБНОВЛЕНИЕ: на самом деле у меня теперь работает синхронизация с использованием внешнего ip-адреса SQL Server в строке подключения и аутентификации SQL для пользовательских входов. Будет ли это принятой практикой или я нарушаю какие-либо принципы безопасности?
Мне все еще нужно перейти к роли безопасности на основе ролей - может ли безопасность на основе ролей работать с аутентификацией SQL?
Кроме того, новая складка: выясняется, что некоторые удаленные пользователи после того, как им выдали свой ноутбук из головного офиса, могут никогда не войти в домен организации снова, поэтому их доверительные отношения входа в домен истекают через несколько месяцев. Поэтому, я думаю, аутентификация Windows в любом случае нежизнеспособна...
1 ответ
Как вы будете подключаться к серверу HQ db?
По моему мнению, самым безопасным решением будет синхронизация по WCF (пример с SqlCompact на Sql Server по WCF с N-уровнем здесь). Затем вы можете реализовать любую схему аутентификации, которую вы хотите, в зависимости от типа безопасности (транспорта и / или сообщения), которую вы реализуете в WCF. Смотрите это и это для получения дополнительной информации.