Многие настольные приложения используют таблицы SQL для управления разрешениями и ролями своих пользователей. Фактически они ограничивают доступ к некоторым частям приложения в своем коде приложения. Это означает, что им нужна постоянная строка подключения к серверу SQL с максимальными разрешениями.
Моя цель - C # 2010, Sql Server 2005 или 2008.
Что если по какой-либо причине кто-то найдет эту строку подключения (трассировка сети, взлом программного обеспечения, уволенный сотрудник или ...), он может изменить все с помощью только Managemenst Studio, и вы не сможете понять, какой клиент это сделал. Если вы хотите изменить строку подключения. Вы должны сделать это во многих клиентах, и при плохом дизайне вам нужно перекомпилировать приложение.
Итак, я хочу знать, является ли хорошей идеей использовать реальный вход в SQL вместо имени пользователя и пароля в таблицах? сделать строку подключения для каждого пользователя с помощью логинов SQL?
Таким образом, можно не бояться потерять строку подключения. Также в кодах SQL вы можете использовать функцию GetUser (), чтобы указать, какой пользователь действительно выполнил запрос?
Но, возможно, управление разрешением затруднительно при таком способе, потому что нет простой таблицы для управления разрешениями и пользователями.
В одном длинном предложении. Я хочу знать, Каков наилучший способ аутентификации пользователей настольных приложений, позволяющий управлять разрешениями, а также SQL Server может регистрировать активность пользователей?