База данных аутентификации пользователей в папке App_Data - разве это не опасно? - PullRequest
1 голос
/ 08 января 2009

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

Обычно это большой нет-нет для нас - все наши базы данных находятся за брандмауэром, и весь доступ осуществляется через уровень службы WCF.

Если база данных находилась на другом сервере, но была напрямую доступна с веб-сервера, это все равно нарушает наши обычные правила архитектуры.

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

ПРИМЕЧАНИЕ. Мы используем .NET 3.5 и SQL Server 2005

Ответы [ 4 ]

6 голосов
/ 08 января 2009

Вы можете установить необходимые таблицы БД и т. Д. В любой базе данных SQL Server.

Используйте мастер aspnet_regsql.exe из C: \ WINDOWS \ Microsoft.NET \ Framework ....... для настройки целевой базы данных.

Затем просто обновите строки подключения в конфигурациях провайдера в файле web.config.

1 голос
/ 08 января 2009

вы можете создать свой собственный пользовательский поставщик членства, переопределив методы и свойства следующего абстрактного класса: открытый абстрактный класс MembershipProvider. После того как вы переопределите их, вы сможете использовать любой действительный источник данных для аутентификации пользователя. Например, вы можете использовать MYSQL, SQL-сервер или даже XML-файл для аутентификации ваших пользователей. Эти модели провайдера действительно крутые.

1 голос
/ 08 января 2009

Да и Да.

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

  2. Было несколько, чтобы сделать это, но проверьте эту ссылку для деталей об одном MSDN Как: Использовать проверку подлинности с помощью форм с SQL Server в ASP.NET 2.0

0 голосов
/ 08 января 2009

Да, вы должны беспокоиться. Нет, нет готового решения. ASP.NET поставляется только с поставщиком членства SQL и поставщиком членства Active Directory (ссылка) . Вам придется использовать пользовательский членский членский состав, чтобы обеспечить вашу функциональность.

...