2009-09-10 1 views
4

У нас есть приложение WinForms, которое использует SQL-сервер для хранения своих данных. Чтобы аутентифицировать пользователей приложения, мы используем SQL Server для проверки подлинности. Пользователь должен иметь имя пользователя/пароль, который существует на сервере базы данных, чтобы иметь возможность войти в систему.Как реализовать SSO (Single Sign On) для приложения WinForms и SQL Server

Пока все хорошо.

Теперь один из наших клиентов хочет, чтобы мы реализовали единый вход. Они хотят иметь возможность запускать наше приложение без ввода имени пользователя/пароля, они хотят использовать Windows для аутентификации пользователя.

У вас есть какие-либо советы о том, как мы можем это реализовать?

ответ

2

См. Статью WinForms App Single Sign On in 2 Lines of Code.

Многих разработчики не знает два информационных богатых объекты доступны им для проверки на основе ролей, а также может быть использованы для проверки аутентификации доступа, по существу единого входа (SSO), к их применению, поскольку пользователь имеет уже зашел на рабочий стол. Это объекты WindowPrincipal и WindowsIdentity. Цель этого скринкаста - демистифицировать, как использовать богатую информацию, предоставляемую этими объектами, начиная с всего лишь двух строк кода.

1

Я бы сказал, используя активный каталог и SSPI (ака доверенных подключений). Обычно это будет использовать аутентификацию Kerberos.

Если у вас есть понятие пользователя в вашей базе данных, например, таблица Users, вы можете добавить другой столбец или иметь отдельную таблицу для хранения имени пользователя для имени домена (например, [email protected]). Вы чаще всего видите somedomain \ johnsmith, но метод @ - это более новое, предпочтительное представление.