Umbraco is turning 5!
There's already 324 people signed up for the February 16th celebrations, what about you? join now

Membership providers

Overview

Umbraco 4 changed the Umbraco membership model to use the ASP.NET Membership Provider model, meaning that all the abstract classes which are provided Out-Of-The-Box with ASP.NET are capable of accessing the Umbraco Member. There's plenty of good resources on MSDN (and other sites) for using ASP.NET Membership, a suggested starting point is here.

Umbraco 4.1 takes this a step further as most of the methods on the umbraco.cms.businesslogic.member.Member class (and MemberGroup class) are obsoleted to direct people into the ASP.NET Membership Provider model.

Common Tasks

Checking if someone is logged in

msdn.microsoft.com/.../...ity.isauthenticated.aspx

bool isSomeoneLoggedIn = System.Web.HttpContext.Current.User.Identity.IsAuthenticated; 

Accessing the current logged in Member

msdn.microsoft.com/.../....membership.getuser.aspx

var member = System.Web.Security.Membership.GetUser(); 

Changing the Member Password

msdn.microsoft.com/.../...user.changepassword.aspx

var member = System.Web.Security.Membership.GetUser();

member.ChangePassword(member.GetPassword(), "new-password"); 

Creating a new Member

msdn.microsoft.com/.../...mbership.createuser.aspx

var member = System.Web.Security.Membership.CreateUser("username", "password"); //there are overloads if you want to provide emails and such 

Access Roles (groups) for Current Member

msdn.microsoft.com/.../...les.getrolesforuser.aspx

var roles = System.Web.Security.Roles.GetRolesForUser();  

Added a Role to the Current Member

msdn.microsoft.com/.../...roles.addusertorole.aspx

System.Web.Security.Roles.AddUserToRole(System.Web.Security.Membership.GetUser().UserName, "new-role"); 

Creating a new Role

msdn.microsoft.com/.../...ty.roles.createrole.aspx

var role = System.Web.Security.Roles.CreateRole("new-role");

Finding Members by their Email

msdn.microsoft.com/.../...ip.findusersbyemail.aspx

var members = System.Web.Security.Membership.FindUsersByEmail("email@example.com");