Шаблон проекта веб-приложения asp.net Членство
Я хотел бы использовать встроенную систему членства / аутентификации, которая по умолчанию включена в Visual Studio при создании нового веб-приложения asp.net.
У меня вопрос: у меня есть пользовательская таблица... UserID, FirstName, LastName и т. Д. С информацией о компании, которую я хочу использовать. Как мне связать эту таблицу с новой регистрацией, которую я создал?
Предположим, я создал новую регистрацию. Теперь, где хранятся данные логина и пароля?
Может кто-то указать мне верное направление?
4 ответа
Этот учебник может быть очень полезен в начале: создание схемы членства в SQL Server.
Если у вас есть в основном только информация профиля пользователя в существующей базе данных вашей компании, возможно, вам придется подумать о создании собственного поставщика профилей. Имейте в виду, что выполнение этого при использовании проекта веб-приложения имеет свои особенности.
Если у вас есть и другая информация в вашей базе данных, связанная с пользователем с помощью внешних ключей, возможно, вас заинтересует это обсуждение того, как использовать ее с членством.
Информация о членстве по умолчанию хранится в базе данных SQL ASPNETDB.MDF. Вы можете найти этот файл в вашей папке App_data.
Если вы хотите изменить способ членства, а также базу данных и таблицы, которые он использует, я бы порекомендовал создать пользовательский поставщик членства.
См. http://msdn.microsoft.com/en-us/library/aa479048.aspx или поставщика настраиваемого членства в google asp.net:
Если вы просто хотите, чтобы существующий поставщик членства использовал другую базу данных, вы можете запустить утилиту aspnet_regsql:
См. http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx
Этот пример пользовательского провайдера членства, который использует codefirst платформы сущностей, помог мне начать:
Мое скромное предложение заключается в том, что вы просто создаете отдельную таблицу и связываете ее со своей таблицей пользователей. Таким образом, нет никаких изменений в том, где хранятся логин и пароль.
Эта статья может вам помочь: http://www.asp.net/security/tutorials/storing-additional-user-information-cs. Посмотри на это.
Дополнительные статьи:
http://www.4guysfromrolla.com/articles/101106-1.aspx
http://www.4guysfromrolla.com/articles/110310-1.aspx
Надеюсь это поможет.
Спасибо всем за ваши ответы, вы все дали мне некоторое понимание, чтобы помочь мне разобраться в моей проблеме. Я решил пойти по более простому маршруту.
Это то, что я придумал. В Register.aspx.cs:
protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{
TextBox txtFirstName = (TextBox)(RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("txtFirstName "));
string firstName= txtFirstName.Text;
... Insert new fields in database ....
}
И добавил элементы управления в элемент управления CreateUserWizard. Довольно простое решение.