如何检测用户何时使用Microsoft.AspNet.Identity登录

本文关键字:Microsoft AspNet Identity 登录 何时使 用户 何检测 检测 | 更新日期: 2023-09-27 17:57:28

我有一个.net mvc5项目,它使用Microsoft.AspNet.Identity进行身份验证。

我想在用户登录应用程序时检测/登录,无论是在用户有"记住我"cookie时,还是在用户手动登录时。

我已经尝试过创建一个基于IAuthenticationFilter的自定义AuthenticateFilter,但OnAuthentication和OnAuthenticationChallenge都会为每个请求触发几次。

我知道我可以在登录操作中添加代码,但我也想捕获使用cookie登录的用户。

身份代码中是否还有其他地方可以覆盖并添加日志代码?

如何检测用户何时使用Microsoft.AspNet.Identity登录

MVC的体系结构中有一些挂钩。在Global.asax中实现其中一个:

  • 受保护的void Application_AuthenticateRequest(){}
  • 受保护的void Application_PostAuthenticateRequest(){}
  • 受保护的void Application_AuthorizeRequest(){}

您可能可以在Cookie中间件的ValidateIdentity内部执行此操作,因为即使设置了记住我,也会调用它。