When you use this code, you can pass in the member's username, name, email address and optionally you can pass in their password and optionally assign them to a role/group.
It is currently set up to return the id of the member, but if you wanted to, you could change it to return the random password it created for you.
using Umbraco.Core; /// <summary> /// Creates an Umbraco member and assigns them to a role/group if you wish. Returns the member Id. /// </summary> /// <param name="username">The username for the member</param> /// <param name="name">The name of the member</param> /// <param name="email">The email address for the member</param> /// <param name="password">A predefined password for the member (leave blank if you want a random password to be created)</param> /// <param name="roleName">A role / group to assign the member to</param> /// <returns>Member Id</returns> public static int CreateMember(string username, string name, string email, string password = null, string roleName = null) { //Create the member var member = ApplicationContext.Current.Services.MemberService.CreateMember(username, email, name, "Member"); //Set them to be approved member.IsApproved = true; //Save the member before adding a password or assigning them to a role. ApplicationContext.Current.Services.MemberService.Save(member); //if no password was provided, create a random one here, so people can't login with an empty password. if (string.IsNullOrEmpty(password)) { password = Guid.NewGuid().ToString().Substring(0, 8); } ApplicationContext.Current.Services.MemberService.SavePassword(member, password); //If a role name was passed in, assign them to the role here. if (!String.IsNullOrEmpty(roleName)) { ApplicationContext.Current.Services.MemberService.AssignRole(member.Id, roleName); } return member.Id; }
Hopefully this post will be useful for some of you.
No comments:
Post a Comment