Как использовать сертификат в приложении Winforms для аутентификации пользователя? - PullRequest
0 голосов
/ 13 марта 2019

У меня есть приложение Winforms, которое подключается как к локальному экземпляру SQL Server, так и к экземплярам базы данных Azure. Это мультитенантно, и я хочу использовать комбинацию сертификата и пароля на хост-ПК для аутентификации пользователя.

То есть пользователю для доступа к базе данных необходимы как сертификат, так и пароль.

Я намерен использовать шифрование на уровне столбцов с SQL Server / Azure DB для защиты данных и безопасности на уровне строк для изоляции арендаторов.

Доступ к данным строки будет осуществляться через SID пользователя из Active Directory.

Каков наилучший способ достижения этого? Это хорошая практика?

1 Ответ

0 голосов
/ 14 марта 2019

Первый: добро пожаловать в StackOverflow

Ваша проблема явно нуждается в архитектурном решении. Возможно, вы захотите взглянуть на шаблон под названием StrategyPattern . StrategyPattern, скорее всего, подойдет вашему подходу, потому что вы можете создать свое приложение с двумя классами, которые обрабатывают аутентификацию для доступа к вашей базе данных. Самым простым дизайном будет использование простого интерфейса (назовем его IDatabaseAuthentificator). Теперь у вас есть флаг (например, в app.config), который решает, какую базу данных и какую аутентификацию использовать в приложении.

Поэтому, когда вы пытаетесь подключиться к базе данных, вы сначала прочитаете ConnectionString, а затем этот флаг.

...