2012-04-27 2 views
2

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

+0

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

+0

У нас есть один основной веб-сайт, и тогда у нас может быть установлено любое количество сайтов, которые используют одну и ту же базу данных. Я бы не хотел, чтобы наш ИТ-отдел вручную настраивал каждый web.config для каждого установленного сайта. – u84six

ответ

0

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

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

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

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

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

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

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

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

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

Также см this SO question для некоторой дополнительной информации.

+0

Но это только для доступа к базе данных веб-приложения, а не для управления пользователями приложений. Это пользователь, который подключается к базе данных sql. – u84six

+0

Не для подключения к базе данных, это для пользователей, входивших на сайт. И все это основано на SQL, поэтому вам нечего мешать вам вызывать одни и те же хранимые процедуры в приложении WinForms. – mgnoonan

+0

Или вы имели в виду, что * ваш * вопрос заключается в том, как поддерживать пользователей и их подключения к базе данных? Если так, я неправильно понял. – mgnoonan

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

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

+0

Это интересный подход, если я могу зашифровать пароль. Но тогда мне также понадобится инструмент для изменения имени пользователя и пароля. – u84six

+0

Имейте в виду, что это касается внутренней безопасности. – u84six

+0

Как насчет использования Windows Authentication для доступа к базе данных? Не могу ли я настроить web.config и app.config для использования аутентифицированного пользователя, а затем управление паролями основано на пользователе, имеющем доступ к машине? – u84six