Moved EmailConfirmed and SecurityStamp properties to shared IMembershipUser (for both IMember and IUser to use)

This commit is contained in:
Emma Garland
2021-02-09 16:14:32 +00:00
parent da2a0713cc
commit 093548b933
5 changed files with 107 additions and 54 deletions

View File

@@ -96,13 +96,13 @@ namespace Umbraco.Infrastructure.Security
target.UserName = source.Username;
target.LastPasswordChangeDateUtc = source.LastPasswordChangeDate.ToUniversalTime();
target.LastLoginDateUtc = source.LastLoginDate.ToUniversalTime();
//target.EmailConfirmed = source.EmailConfirmedDate.HasValue;
target.EmailConfirmed = source.EmailConfirmedDate.HasValue;
target.Name = source.Name;
target.AccessFailedCount = source.FailedPasswordAttempts;
target.PasswordHash = GetPasswordHash(source.RawPasswordValue);
target.PasswordConfig = source.PasswordConfiguration;
target.IsApproved = source.IsApproved;
//target.SecurityStamp = source.SecurityStamp;
target.SecurityStamp = source.SecurityStamp;
target.LockoutEnd = source.IsLockedOut ? DateTime.MaxValue.ToUniversalTime() : (DateTime?)null;
// NB: same comments re AutoMapper as per BackOfficeUser

View File

@@ -554,13 +554,13 @@ namespace Umbraco.Infrastructure.Security
member.LastPasswordChangeDate = identityUserMember.LastPasswordChangeDateUtc.Value.ToLocalTime();
}
//if (identityUser.IsPropertyDirty(nameof(MembersIdentityUser.EmailConfirmed))
// || (user.EmailConfirmedDate.HasValue && user.EmailConfirmedDate.Value != default && identityUser.EmailConfirmed == false)
// || ((user.EmailConfirmedDate.HasValue == false || user.EmailConfirmedDate.Value == default) && identityUser.EmailConfirmed))
//{
// anythingChanged = true;
// user.EmailConfirmedDate = identityUser.EmailConfirmed ? (DateTime?)DateTime.Now : null;
//}
if (identityUserMember.IsPropertyDirty(nameof(MembersIdentityUser.EmailConfirmed))
|| (member.EmailConfirmedDate.HasValue && member.EmailConfirmedDate.Value != default && identityUserMember.EmailConfirmed == false)
|| ((member.EmailConfirmedDate.HasValue == false || member.EmailConfirmedDate.Value == default) && identityUserMember.EmailConfirmed))
{
anythingChanged = true;
member.EmailConfirmedDate = identityUserMember.EmailConfirmed ? (DateTime?)DateTime.Now : null;
}
if (identityUserMember.IsPropertyDirty(nameof(MembersIdentityUser.Name))
&& member.Name != identityUserMember.Name && identityUserMember.Name.IsNullOrWhiteSpace() == false)
@@ -610,11 +610,11 @@ namespace Umbraco.Infrastructure.Security
member.PasswordConfiguration = identityUserMember.PasswordConfig;
}
//if (user.SecurityStamp != identityUser.SecurityStamp)
//{
// anythingChanged = true;
// user.SecurityStamp = identityUser.SecurityStamp;
//}
if (member.SecurityStamp != identityUserMember.SecurityStamp)
{
anythingChanged = true;
member.SecurityStamp = identityUserMember.SecurityStamp;
}
// TODO: Fix this for Groups too (as per backoffice comment)
if (identityUserMember.IsPropertyDirty(nameof(MembersIdentityUser.Roles)) || identityUserMember.IsPropertyDirty(nameof(MembersIdentityUser.Groups)))