Чисто като отправна точка може да е добра идея да създадете нов шаблон за интернет приложение на проект за уеб приложение ASP.NET MVC 4 (т.е. чрез Файл> Нов проект).
Ако погледнете AccountController
, както казва @zms6445, той е украсен с InitializeSimpleMembership
атрибут. Можете да намерите изпълнението на този атрибут във файла InitializeSimpleMembershipAttribute.cs в папката Filters в основната директория.
Тук това е липсващата част от пъзела - трябва да свържете съществуващата си база данни, така че да се използва от SimpleMembershipProvider
. Това е кодът, от който се нуждаете:
private class SimpleMembershipInitializer
{
public SimpleMembershipInitializer()
{
try
{
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("CONNECTION_STRING_NAME", "USER_TABLE", "USER_ID_FIELD", "USER_NAME_FIELD", autoCreateTables: true);
}
}
catch (Exception ex)
{
throw new InvalidOperationException("Something is wrong", ex);
}
}
}
Някои неща, които трябва да имате предвид:
-
CONNECTION_STRING_NAME
е запис във вашия web.config ConnectionStrings - НЕ МОЖЕТЕ да използвате моделния низ за връзка тук -SimpleMembershipProvider
не разпознава този формат! Трябва да посочитеSystem.Data.SqlClient
низ за свързване, напр. -
USER_TABLE
е таблицата във вашата база данни, която съдържа допълнителна потребителска информация, като собствено име, фамилия и т.н. Това е свързано с автоматично генерираните таблици чрез USER_ID_FIELD. -
USER_ID_FIELD
обикновено е първичният ключ на вашата таблица Users. Трябва да е от типint
. -
USER_ID_NAME
е уникално име за потребителя, което може да бъде имейл адрес. -
autoCreateTables
е зададено наtrue
за да се гарантира, че таблиците, необходими за работа на SimpleMembership, са създадени, ако те все още не съществуват.
Разбира се, този код се задейства само ако посетите страница чрез AccountController
, тъй като това е украсено от атрибута. Можете да поставите точка на прекъсване там и да я видите в действие.
Това трябва да ви помогне да започнете - шаблонът за интернет приложение е доста добър шаблон, който да следвате, ако се затрудните.
Надявам се това да помогне.