советы по передовой практике при подключении приложения ASP.NET к SQL Server - PullRequest
3 голосов
/ 04 октября 2010

У меня есть приложение ASP.NET, которое использует функцию членства. Я подключаюсь к базе данных SQL Server, которая содержит схему aspnet_membership. В настоящее время я использую «sa» и пароль «sa» в строке подключения моего приложения, что, я знаю, ужасная вещь. Мой вопрос, что является лучшей альтернативой для строки подключения? Должен ли я создать пользователя с именем базы данных sql «MyAppUser» (или чем-то еще) и назначить этому пользователю схему aspnet_membership_fullcontrol? Таким образом, приложение может подключиться и получить права полного контроля, а затем ограничить доступ для отдельных пользователей в соответствии с логикой, которую я записал в приложение.

Это хороший способ сделать это? (доступ ограничен конкретной базой данных, используемой приложением, а не какой-либо другой).

Если нет, то как лучше избежать использования пользователя "sa" в моей строке подключения при использовании членства в ASPNet?

Спасибо за любой совет, который вы можете дать.

Ответы [ 3 ]

0 голосов
/ 04 октября 2010

Да - создайте конкретного пользователя и пароль для этого проекта и сохраните эти данные в файле app.config или web.config и перейдите оттуда.

Если вы используете доверенное соединение, то фактически вы не контролируете, какой пользователь имеет доступ к базе данных, а это означает, что отладка позже будет более сложной.

0 голосов
/ 04 октября 2010

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

Для приложений asp.net мы обычно создаем для этого приложения логин sql исохранить пароль в веб-конфигурации.Затем мы зашифруем раздел строки подключения файла веб-конфигурации

. Инструкции по выполнению этого см. В следующей ссылке: http://msdn.microsoft.com/en-us/library/ff647398.aspx

0 голосов
/ 04 октября 2010

Если это внутреннее приложение, вы можете использовать проверку подлинности Windows (встроенная защита = true), в противном случае создайте для вашего приложения логин sql, сопоставьте базу данных с пользователем и примените соответствующие разрешения (возможно, чтение / запись).

...