当前ASP.NET身份密码重置(通过电子邮件验证)要求用户输入电子邮件,重新设置新密码。但是,在密码重置的大多数情况下,只需要一个新密码。这是怎么做到的呢?
我发现用户id是通过收到电子邮件找到的,例如:
var user = await UserManager.FindByNameAsync(model.Email);
是否可以直接从密码重置的CallbackUrl获得用户id,因为它包含用户id?还是有更好的替代方法?
我正在为测试域中的用户编写一个自助服务密码重置工具。我希望他们能够更改密码,而不是随机生成密码。
我正在使用带有服务帐户的dsmod来更改用户密码,它运行良好(即在将用户密码设置为前一个密码时抛出一个错误,或者密码不够复杂)。
dsquery user -samid someuser | dsmod user -pwd somepassword -mustchpwd no
由于某种原因,今天它将接受任何密码并更改它。通过GUI进行更改是在执行策略。
有人知道发生了什么或者如何用另一个工具来执行吗?