ASP.NET身份记录用户注册和上次登录时间

Jam*_*mes 13 c# asp.net asp.net-mvc asp.net-membership asp.net-identity

我正在将ASP.NET网站从旧的成员资格提供程序迁移到ASP.NET Identity 2

我注意到新的提供商没有记录用户注册和上次登录时间.有没有办法自定义代码来做到这一点?

tra*_*max 22

要捕获注册日期和上次登录日期,您需要扩展用户对象:

public class ApplicationUser : IdentityUser
{
     public virtual DateTime? LastLoginTime { get; set; }
     public virtual DateTime? RegistrationDate { get; set; }

    // other properties
}
Run Code Online (Sandbox Code Playgroud)

然后在用户创建时,您必须填充RegistrationDate字段.每次成功登录时,您都必须更新LastLoginTime.

不,Identity不会自动支持这些字段,您必须自己解决您的需求.

  • 我建议可以为空的DateTimeOffset. (2认同)
  • @OhMyDog `PasswordSignInAsync` [方法](PasswordSignInAsync) 返回对象 [SignInStatus](https://msdn.microsoft.com/en-us/library/microsoft.aspnet.identity.owin.signinstatus(v=vs.108)。 aspx)。如果该值设置为“成功” - 您知道您正在做某事。 (2认同)