什么是GenerateEmailConfirmationToken()正在做什么?

Ing*_*mar 5 asp.net-identity-2

我有两个关于ASP.Identity 2.0"GenerateEmailConfirmationToken/GenerateEmailConfirmationTokenAsync"方法的问题.

// Generate token
var token = Url.Encode(await UserManager.GenerateEmailConfirmationTokenAsync(user.Id));
Run Code Online (Sandbox Code Playgroud)
  1. 这个令牌是否存储在数据库中?我想它应该.但在哪个领域呢?我只是在User表上找到"PasswordHash"和"SecurityStamp".两者似乎都不匹配.
  2. 我的印象是,一旦我生成了电子邮件令牌,User表的EmailConfirmed字段就会设置为false.但它仍然是真的.那么,如果相应的用户帐户保持确认,创建令牌的目的是什么?或者换句话说:为了生成新令牌我还需要做什么?还要将帐户设置为未确认?

tra*_*max 6

总结评论中的讨论:令牌不存储在任何地方 - 它们是从 SecruityStamp 加密生成的(不确定生成的确切过程),当它们回来时,它们可以被解密和比较。

至于EmailConfirmed领域——这是给你维护和照顾的。您需要手动拒绝没有确认电子邮件的用户登录。当电子邮件确认通过时,您需要设置标志。


归档时间:

查看次数:

2908 次

最近记录:

10 年,10 月 前