ASP.NET - с несколькими сайтами, использующими одну и ту же базу данных, как я могу управлять именем пользователя и паролем?

У меня есть несколько веб-сайтов и приложение Windows, которые используют одну и ту же базу данных. Есть ли способ управлять именем пользователя и паролем базы данных во всех файлах web.configs и app.configs? Я хотел бы иметь возможность изменить имя пользователя и пароль, а затем все веб-сайты и приложения будут использовать новое имя. Есть ли что-то, что я могу использовать, чтобы автоматизировать это? В настоящее время я храню имя пользователя и пароль в строке подключения.


person u84six    schedule 27.04.2012    source источник
comment
Потенциально да, но если вам не нужно часто обновлять все эти строки подключения (и это звучит как какой-то плохой дизайн), ручное обновление пары приложений будет намного быстрее и проще, чем писать что-то, чтобы пойти дальше и сделать новые файлы конфигурации.   -  person Tejs    schedule 27.04.2012
comment
Итак, у нас есть один основной веб-сайт, а затем мы можем установить любое количество сайтов, использующих одну и ту же базу данных. Я бы не хотел, чтобы наш ИТ-отдел вручную настраивал каждый файл web.config для каждого установленного сайта.   -  person u84six    schedule 27.04.2012


Ответы (2)


Возможно, вам придется написать некоторый собственный код в своем приложении Windows для его поддержки, но членство в ASP.NET позволит вам совместно использовать имена пользователей и пароли для нескольких приложений.

http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx

Членство в ASP.NET поддерживает возможности для:

Создание новых пользователей и паролей.

Хранение информации о членстве (имена пользователей, пароли и вспомогательные данные) в Microsoft SQL Server, Active Directory или другом хранилище данных.

Аутентификация пользователей, которые посещают ваш сайт. Вы можете аутентифицировать пользователей программно или использовать элементы управления входом в систему ASP.NET для создания полной системы аутентификации, которая практически не требует кода.

Управление паролями, включая их создание, изменение и сброс. В зависимости от выбранных вами вариантов членства система членства также может предоставить систему автоматического сброса пароля, которая принимает заданный пользователем вопрос и ответ.

Предоставление уникальной идентификации для аутентифицированных пользователей, которую вы можете использовать в своих собственных приложениях и которая также интегрируется с системами персонализации и управления ролями (авторизации) ASP.NET.

Указание настраиваемого поставщика членства, который позволяет вам заменить свой собственный код для управления членством и сохранения данных членства в пользовательском хранилище данных.

Кроме того, см. этот вопрос SO для некоторых Дополнительная информация.

person mgnoonan    schedule 27.04.2012
comment
Но это только для доступа к базе данных веб-приложения, а не для управления пользователями приложения. Это пользователь, который подключается к базе данных sql. - person u84six; 27.04.2012
comment
Не для подключения к базе данных, а для входа пользователей на сайт. И все это основано на SQL, поэтому ничто не мешает вам вызывать одни и те же хранимые процедуры в приложении WinForms. - person mgnoonan; 27.04.2012
comment
Или вы имели в виду, что ваш вопрос заключается в том, как поддерживать пользователей и их подключения к базе данных? Если да, то я неправильно понял. - person mgnoonan; 27.04.2012

  • Сохраните имя пользователя и пароль в реестре.
  • Создайте строку подключения на лету, используя класс
  • Все веб-сайты и приложения должны иметь один и тот же класс

Кстати, реестр более безопасен, чем веб-конфиг.

person Internet Engineer    schedule 27.04.2012
comment
Это интересный подход, если я могу зашифровать пароль. Но тогда мне также понадобится инструмент для изменения имени пользователя и пароля. - person u84six; 27.04.2012
comment
Как насчет использования проверки подлинности Windows для доступа к базе данных? Могу ли я настроить web.config и app.config для использования аутентифицированного пользователя, а затем управление паролями основывается на пользователе, имеющем доступ к машине? - person u84six; 27.04.2012
comment
Таким образом, мне не придется ничего шифровать. Звучит правдоподобно? - person u84six; 27.04.2012
comment
Аутентификация Windows еще проще. Вы включаете метод аутентификации в веб-конфигурацию и не включаете имя пользователя или пароль в строку подключения. - person Internet Engineer; 27.04.2012
comment
В .net есть много программ для шифрования/дешифрования. Большинство из них бесплатны. Вам нужно включить класс расшифровки на каждом сайте. - person Internet Engineer; 27.04.2012