我开始使用ASP.NET身份验证, 但我找不到获取当前已登录用户列表的方法。要获取所有用户,我可以使用以下代码:
new ApplicationDbContext().Users
ApplicationDbContext
是随ASP.NET Web应用程序模板提供的,它扩展了IdentityDbContext
。
但是IdentityUser
类似乎没有任何查询已登录状态的方法。
感谢任何提示。
我开始使用ASP.NET身份验证, 但我找不到获取当前已登录用户列表的方法。要获取所有用户,我可以使用以下代码:
new ApplicationDbContext().Users
ApplicationDbContext
是随ASP.NET Web应用程序模板提供的,它扩展了IdentityDbContext
。
但是IdentityUser
类似乎没有任何查询已登录状态的方法。
感谢任何提示。
目前没有内置支持此功能的方法。一种简单的实现方式是为用户添加一个LastActivityDate字段,每当用户在您的网站上执行操作时更新该字段。然后,您可以对该字段进行查询,寻找最近30分钟以内活跃的用户,并进行显示。
IHttpModule
实现,在那里你可以订阅PostAuthenticateRequest
和AuthenticateRequest
上下文事件,并在那里检查context.Request.IsAuthenticated
,这将是一个很好的起点。 - Andrew