Где сохраняются данные при использовании Membership.CreateUser? - PullRequest
2 голосов
/ 25 июня 2011

Я работаю на .NET MVC 3, сайте бритвы, и я хочу знать, где хранятся данные при использовании Membership.CreateUser?

На http://msdn.microsoft.com/en-us/library/d8t4h2es.aspx написано:

CreateUser добавляет нового пользователя в хранилище данных и возвращает объект MembershipUser для вновь созданного пользователя.

Что это за хранилище данных? Локальный файл .sdf в данных приложения не содержит таблиц для учетных данных пользователя?

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

Ответы [ 5 ]

3 голосов
/ 25 июня 2011

По умолчанию он использует хранилище в App_Data, создавая файл ASPNETDB.mdf, по крайней мере, в веб-формах.Поведение будет таким же для MVC, за исключением автоматического создания части БД.Вы можете использовать инструменты aspnet_regiis для создания необходимых ему таблиц в любой базе данных SQL, или свернуть своего собственного провайдера и обновить регистрацию членства в элементе <system.web><membership>, как вы это делали в веб-формах.

1 голос
/ 25 июня 2011

Вам необходимо настроить базу данных членов.

Если этого не существует, вы можете сделать это вручную, выполнив шаги на этом блоге

Вам нужнодля запуска утилиты aspnet_regsql.exe и следуйте инструкциям мастера.Это создаст различные таблицы, которые вам нужны.

Дополнительная информация от MSDN

Членство в ASP.NET дает вам встроенный способ проверки и храненияучетные данные пользователя.

Поставщик по умолчанию сохраняет информацию о членстве в базе данных Microsoft SQL Server.

0 голосов
/ 27 июня 2011

Вы по-прежнему можете взаимодействовать со встроенными классами и функциями MS Membership из вашего проекта MVC, используя что-то вроде DLL-библиотеки стартового набора MvcMembership.

https://github.com/TroyGoode/MembershipStarterKit

Надеюсь, это поможет!

0 голосов
/ 25 июня 2011

при настройке вашего провайдера членства вы запустите команду regsql, которая создаст схему в вашем хранилище данных (независимо от того, какое хранилище вы используете) и поместите строку подключения в ваш web.config. Вы можете использовать любое хранилище данных, для которого у .Net есть поставщик (ORACLE, MYSql, SQLite, SQL Server, MS Access и т. Д.).

0 голосов
/ 25 июня 2011

Насколько мне известно, связанная модель безопасности в ASP.NET MVC 1.0 и 2.0 основана на Членском API ASP.NET . Так что специального API безопасности для ASP.NET MVC не существует. он основан на существующем членстве ASP.NET

А когда вы устанавливаете членство, вы создаете пользовательские таблицы и хранимые процедуры. Так что пользователь, которого вы упомянули, должен храниться в базе данных SQL.

Из этой ссылки, которую вы можете увидеть после установки, будет aspnet_users таблица, в которой хранятся пользователи.

Я не знаю, существует ли API безопасности для ASP.NET MVC 3.0, потому что я удалил классы членства ASP.NET, поставляемые с ASP.NET MVC, и реализовал сам.

Также я настоятельно рекомендую удалить классы членства ASP.NET MVC, если Пользователь имеет особое значение и имеет другие свойства, отличные от имени пользователя / пароля в проблемном домене.

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