在我的MVC应用程序中,用户注册以两种方式实现:用户注册,然后由管理员批准;或管理员可以创建一个用户。我的问题是:是否可以发送一个临时密码,然后用户在首次登录后必须更改它,或者我可以标记该用户第一次使用外部身份验证。非常感谢您的建议。
您可以像这样定义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
当用户单击链接时,将用户帐户与代码匹配,然后执行以下操作:
UsingTempPassword
用户使用临时密码登录到您的站点后,您的代码应检测到UserAccountState
处于,UsingTempPassword
并随后将用户重定向到“更改密码”页面。
用户提供新密码后,可以将帐户设置为Normal
状态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句