ASP MVC 3 Basic Зарегистрироваться / Войти / Выйти на другой стол

Я видел модель и контроллер по умолчанию "Account", которая поставляется по умолчанию со стандартным приложением MVC3, однако, когда я сначала создал базу данных.

Я уже спроектировал свою собственную таблицу "Пользователи", которую я хотел бы реализовать при помощи простой регистрации / входа / выхода.

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

2 ответа

Это просто. Создайте свой класс, полученный из абстрактного класса MembershipProvider

public class MyMembershipProvider : MembershipProvider
{

}

Больше на: http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.aspx

Сделать то же самое для RoleProvider если тебе это нужно

public class MyRoleProvider : RoleProvider
{

}

Больше на: http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

Реализуйте только методы, которые вы будете использовать, и все. Начать с ValidateUser() ( http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.validateuser.aspx)

Не забудьте указать своего провайдера, то есть в этом случае MyMembershipProvider в web.config в <system.web> <membership> <providers> раздел.

Не усложняйте это, так как почти в каждом уроке / записи в блоге это делается, это простая задача.

ОБНОВИТЬ:

В RoleProvider вам нужно только реализовать

public override string[] GetAllRoles()
        {
            return RoleRepository.GetAllRoles();
        }

        public override string[] GetRolesForUser(string username)
        {
            return RoleRepository.GetRolesForUser(username);
        }

public override bool IsUserInRole(string username, string roleName)
        {  
            return RoleRepository.IsUserInRole(username, roleName);
        }

В MembershipProvider вам нужно только реализовать

public override bool ValidateUser(string username, string password)
        {
            return MembershipRepository.IsUserValid(username,password);
        }

Вы всегда можете использовать свой собственный ValidateUser() метод независимо от метода в MembershipProvider.

Другие вопросы по тегам