如何使用Asp.net Identity MVC5 Web应用程序跟踪用户登录

Wel*_*lla 3 asp.net-mvc-5 asp.net-identity

我需要跟踪用户登录到MS SQL Server数据表上MVC5 Web应用程序asp.net身份是什么来实现这一点的最好办法.

thm*_*shd 5

如果您实现您的应用程序就像在描述的认证部分本教程,这个地方在那里你可以触发跟踪很容易找到,在调用之后SignInManager.PasswordSignInAsync.我建议跟踪所有尝试,而不仅仅是成功登录.有几种方法可以实现这一点,这完全取决于您现有的体系结构,您已经使用的框架等.如果您还没有任何内容,您可以按照本教程在MVC5中启动并运行实体框架数据上下文,但是你会创建一个实体,其中包含用于跟踪用户登录的所有有用字段(例如,时间戳,用户名和登录尝试的结果),例如:

public enum LoginResult
{
   Success,
   LockedOut,
   RequiresVerification,
   Failure
}

public class UserLogin
{
   public DateTime DateTime { get; set; }
   public LoginResult LoginResult { get; set; }
   public string Username { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

您只需添加到您的数据上下文:

var appContext = new AppContext();
appContext.UserLogins.Add(new UserLogin { DateTime = DateTime.UtcNow, LoginResult = result /* Depending of result */, Username = model.EMail });
appContext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

这是非常简化的,但你明白了.当然,这将花费你一些进一步的研究和开发.