我已经看到了默认的“帐户”模型和控制器,它是标准 MVC3 应用程序默认的,但是,因为我首先生成了我的数据库。
我已经设计了自己的“用户”表,我希望实现一个简单的注册/登录/注销。
是否有很好的教程向我展示如何做到这一点或您自己的任何建议?非常感谢您的时间。
我已经看到了默认的“帐户”模型和控制器,它是标准 MVC3 应用程序默认的,但是,因为我首先生成了我的数据库。
我已经设计了自己的“用户”表,我希望实现一个简单的注册/登录/注销。
是否有很好的教程向我展示如何做到这一点或您自己的任何建议?非常感谢您的时间。
这很简单。创建从抽象类派生的类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 中的方法如何,您始终可以使用自己的方法。
您可以实现自定义成员资格提供程序:
http://www.asp.net/web-forms/videos/how-do-i/how-do-i-create-a-custom-membership-provider
http://theintegrity.co.uk/2010/11/asp-net-mvc-2-custom-membership-provider-tutorial-part-1/