Asp.net Identity 2.0临时密码

hncl

在我的MVC应用程序中,用户注册以两种方式实现:用户注册,然后由管理员批准;或管理员可以创建一个用户。我的问题是:是否可以发送一个临时密码,然后用户在首次登录后必须更改它,或者我可以标记该用户第一次使用外部身份验证。非常感谢您的建议。

肖恩717

您可以像这样定义UserAccount类:

public class UserAccount
{
   public int AccountId {  get; set;}

   public UserAccountState AccountState { get; set; }

   public Guid ActivationCode { get; set; }

   public string Password { get; set; }
}

其中UserAccountState为

public enum UserAccountState
{
   PendingActivation = 0,
   UsingTempPassword = 1
   Normal = 2
}

新用户刚注册时。您可以将他的帐户设置为PendingActivation状态,然后向他发送链接以激活该帐户,如下所示

www.MySite.com/Activate?code=F3D17EE

当用户单击链接时,将用户帐户与代码匹配,然后执行以下操作:

  1. 为该帐户生成一个临时密码,例如“ TempPass12”
  2. 将帐户状态更改为 UsingTempPassword
  3. 向用户显示以下消息“您的帐户现已激活。单击此处以使用临时密码TempPass12登录

用户使用临时密码登录到您的站点后,您的代码应检测到UserAccountState处于,UsingTempPassword并随后将用户重定向到“更改密码”页面。

用户提供新密码后,可以将帐户设置为Normal状态。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ASP.NET Identity重置密码

ASP.Net Identity 2 RemovePassword模拟

ASP.NET Identity 2是否使用machinekey来对密码进行哈希处理?

如何在ASP.Net MVC Identity 2中更改密码验证?

如何在Asp.Net Identity 2中手动检查密码?

ASP.NET Identity WebAPI无效的密码重置令牌

ASP.Net Identity - 无法使用密码登录

如何覆盖ASP.NET Core Identity的密码策略

使用ASP.NET Identity重置密码时令牌无效

ASP.NET Identity 2层次结构角色

ASP.NET Identity2和DataContext注入

Asp.NET Identity 2提供“无效令牌”错误

ASP.NET Identity 2使身份困难失效

ASP.NET Identity 2记住我-用户正在注销

更改ASP.NET Identity 2中的列名

Asp.net Identity 2帐户一次输入

使用ASP.NET Identity v2的Thinktecture Identity Server v2

如何使用ASP.NET Identity for ASP.NET MVC 5.0实现密码重置?

C# ASP.NET Identity 2 (.NET Framework MVC) - 使用权限和角色

db ASP.NET Core中的临时保存密码

如何使用ASP.NET Identity设置Thinktecture Identity Server v3 beta 1-2?

ASP.NET Identity 与 ASP.NET Identity Core:与 Identity Server 等的区别和用法?

用户在 ASP.NET Core Identity 中打开设置页面时如何要求输入密码?

使用ASP.NET Identity 3的自定义密码策略

在 Asp.Net mvc5 Identity 版本 1.0.0 中忘记密码

ASP.NET Identity的默认密码哈希器-它如何工作且安全?

将密码哈希从ASP.NET Identity 2.0迁移到3.0

如何重写SHA1(在ASP.NET Identity中)所做的密码哈希?

通过ASP.NET Identity 2中的UserManager.Update()更新用户