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