ASP MVC 3 Basic Register / Login / Logout on a different table

岁酱吖の 提交于 2019-11-28 12:36:29

问题


I have seen the default 'Account' Model and Controller which comes default with a standard MVC3 Application, how ever, as I have generated my Database first.

I already have designed my own 'Users' table, which I'd like a simple Registration / Log in / Log out to be implemented.

Are there are good tutorials showing me how to do this or any advice from yourselves? Many thanks for your time.


回答1:


It's simple. Create your class derived from the abstract class MembershipProvider

public class MyMembershipProvider : MembershipProvider
{

}

More at: http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.aspx

Do the same for RoleProvider if you need it.

public class MyRoleProvider : RoleProvider
{

}

More at: http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

Implement only the methods you will use and that's all. Start with ValidateUser() ( http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.validateuser.aspx)

Don't forget to point your provider, that is in this case MyMembershipProvider to web.config in <system.web> <membership> <providers> section.

Don't complicated it as in almost every tutorial/blog post out there is doing, it's a simple task.

UPDATE:

In the RoleProvider you only need to implement

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

In the MembershipProvider you only need to implement

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

You could always use your own ValidateUser() method regardless of the method in the MembershipProvider.




回答2:


You can implement your custom Membership provider:

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/



来源:https://stackoverflow.com/questions/10066025/asp-mvc-3-basic-register-login-logout-on-a-different-table

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!