【问题标题】:How to reset admin or any user password in Umbraco?如何在 Umbraco 中重置管理员或任何用户密码?
【发布时间】:2020-12-16 18:02:25
【问题描述】:
【问题讨论】:
标签:
passwords
umbraco
umbraco7
reset-password
umbraco8
【解决方案1】:
如下创建一个类并运行项目:
using System.Web.Security;
using Umbraco.Core.Composing;
using Umbraco.Core;
using Umbraco.Core.Services;
using Umbraco.Web.Security.Providers;
namespace Project
{
[RuntimeLevel(MinLevel = RuntimeLevel.Run)]
public class StartingComposer : IUserComposer
{
public void Compose(Composition composition)
{
composition.Components().Append<StartingEvent>();
}
}
public class StartingEvent : IComponent
{
private readonly IUserService _userService;
public StartingEvent(IUserService userService)
{
_userService = userService;
var adminUser = _userService.GetUserById(-1);
adminUser.Username = adminUser.Email = "admin@gmail.com";
adminUser.FailedPasswordAttempts = 0;
adminUser.IsLockedOut = false;
adminUser.IsApproved = true;
adminUser.RawPasswordValue = (Membership.Providers["UsersMembershipProvider"] as UsersMembershipProvider)?.HashPasswordForStorage("Admin123*");
userService.Save(adminUser);
}
public void Initialize()
{
}
public void Terminate()
{
}
}
}