ASP MVC 3基本注册/登录/注销在另一个表上

时间:2012-04-08 20:00:43

标签: asp.net-mvc asp.net-mvc-3 authentication asp.net-authentication

我已经看到了默认的“帐户”模型和控制器,它默认使用标准MVC3应用程序,因为我首先生成了我的数据库。

我已经设计了自己的'用户'表,我想要一个简单的注册/登录/注销来实现。

是否有很好的教程告诉我如何做到这一点或者你自己的建议?非常感谢你的时间。

2 个答案:

答案 0 :(得分:3)

这很简单。创建从抽象类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)指向<system.web> <membership> <providers>部分中的web.config。

不要像在几乎所有教程/博客文章中那样复杂,这是一项简单的任务。

更新:

在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);
        }

无论MembershipProvider中的方法如何,您都可以使用自己的ValidateUser()方法。

答案 1 :(得分:1)