【发布时间】:2013-01-31 12:22:03
【问题描述】:
我使用 FormsAuthentication 在我的 MVC4 应用程序中对用户进行身份验证。是否可以获取所有当前登录的用户?
【问题讨论】:
-
如果对您来说足够了,那么您可以获得当前访问应用程序的用户数。 Membership.GetNumberOfUsersOnline method
标签: asp.net asp.net-mvc-4 forms-authentication
我使用 FormsAuthentication 在我的 MVC4 应用程序中对用户进行身份验证。是否可以获取所有当前登录的用户?
【问题讨论】:
标签: asp.net asp.net-mvc-4 forms-authentication
我不认为有这样的方法,但你可以试试这个
List<MembershipUser> onlineUsers = Membership.GetAllUsers().Cast<MembershipUser>().Where(u => u.IsOnline == true).ToList();
在对非常大的用户使用 GetAllUsers 方法时要小心 数据库,作为 ASP.NET 中生成的 MembershipUserCollection 页面可能会降低您的应用程序的性能。
【讨论】:
我必须先实例化集合,然后才能转换它:
private List<MembershipUser> GetAllUsers()
{
MembershipUserCollection MU_Coll = Membership.GetAllUsers();//.GetEnumerator() ;//.Cast<MembershipUser>().Where(u => u.IsOnline == true).ToList();
return MU_Coll.Cast<MembershipUser>().Where(u => u.IsOnline == true).ToList();
}
【讨论】: