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

时间:2014-04-09 08:10:07

标签: c# asp.net-identity owin

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

我希望在用户登录到应用程序时检测/记录,当用户有一个"记住我" cookie,如果用户手动登录。

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

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

身份代码中是否有其他地方,我可以覆盖,并添加我的日志记录代码?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

MVC的架构中有一些钩子。在Global.asax中实现其中一个:

  • protected void Application_AuthenticateRequest(){}
  • protected void Application_PostAuthenticateRequest(){}
  • protected void Application_AuthorizeRequest(){}