diff --git a/src/Umbraco.Core/Services/MemberService.cs b/src/Umbraco.Core/Services/MemberService.cs index 44d7678f39..98e426d931 100644 --- a/src/Umbraco.Core/Services/MemberService.cs +++ b/src/Umbraco.Core/Services/MemberService.cs @@ -702,7 +702,7 @@ namespace Umbraco.Core.Services IMember IMembershipMemberService.CreateWithIdentity(string username, string email, string rawPasswordValue, string memberTypeAlias) { var memberType = FindMemberTypeByAlias(memberTypeAlias); - return CreateMemberWithIdentity(username, email, memberType); + return CreateMemberWithIdentity(username, email, username, rawPasswordValue, memberType); } private IMember CreateMemberWithIdentity(string username, string email, string name, string rawPasswordValue, IMemberType memberType) diff --git a/src/Umbraco.Web/Controllers/UmbRegisterController.cs b/src/Umbraco.Web/Controllers/UmbRegisterController.cs index aafa6fe0db..ef2509b160 100644 --- a/src/Umbraco.Web/Controllers/UmbRegisterController.cs +++ b/src/Umbraco.Web/Controllers/UmbRegisterController.cs @@ -24,12 +24,7 @@ namespace Umbraco.Web.Controllers MembershipCreateStatus status; var member = Members.RegisterMember(model, out status, model.LoginOnSuccess); - - // Save the password - var memberService = Services.MemberService; - var m = memberService.GetByUsername(member.UserName); - memberService.SavePassword(m, model.Password); - + switch (status) { case MembershipCreateStatus.Success: diff --git a/src/Umbraco.Web/Models/RegisterModel.cs b/src/Umbraco.Web/Models/RegisterModel.cs index ad26aca17f..ef8a903e56 100644 --- a/src/Umbraco.Web/Models/RegisterModel.cs +++ b/src/Umbraco.Web/Models/RegisterModel.cs @@ -32,7 +32,7 @@ namespace Umbraco.Web.Models UsernameIsEmail = true; MemberProperties = new List(); LoginOnSuccess = true; - + CreatePersistentLoginCookie = true; if (doLookup && HttpContext.Current != null && ApplicationContext.Current != null) { var helper = new MembershipHelper(ApplicationContext.Current, new HttpContextWrapper(HttpContext.Current)); @@ -93,6 +93,11 @@ namespace Umbraco.Web.Models /// public bool LoginOnSuccess { get; set; } + /// + /// Default is true to create a persistent cookie if LoginOnSuccess is true + /// + public bool CreatePersistentLoginCookie { get; set; } + /// /// A custom model binder for MVC because the default ctor performs a lookup! /// diff --git a/src/Umbraco.Web/Security/MembershipHelper.cs b/src/Umbraco.Web/Security/MembershipHelper.cs index d1db014436..253fc7c3d4 100644 --- a/src/Umbraco.Web/Security/MembershipHelper.cs +++ b/src/Umbraco.Web/Security/MembershipHelper.cs @@ -173,7 +173,7 @@ namespace Umbraco.Web.Security provider.GetUser(model.Username, true); //Log them in - FormsAuthentication.SetAuthCookie(membershipUser.UserName, true); + FormsAuthentication.SetAuthCookie(membershipUser.UserName, model.CreatePersistentLoginCookie); return membershipUser; }