asp.net会员通过ID获取多个用户

时间:2014-10-07 22:26:09

标签: c# asp.net-membership sitecore sitecore7 sitecore7.2

我需要在管理页面上显示Sitecore 7.2网络应用的多个用户。要显示的用户的ID位于与核心数据库分开的数据库中(没有键约束的松散关系)。除了将跟踪这些用户ID的表移动到核心数据库之外,还有一种通过id获取多个用户的好方法吗?我只看到获得一个用户或所有用户的方法。

2 个答案:

答案 0 :(得分:1)

多少是多少?"如果它介于2-100之间,我会写一个小实用程序项来获取ID,然后一次加载一个。

如果确实需要一次加载100-1000个用户......您可能需要创建自己的提供商。 Sitecore的User API只是标准ASP.NET成员资格的一个薄包装器。它使用了一个相当简单的提供者模型。

如果您想在任何类型的性能关键环境中访问用户配置文件,则必须提供自己的系统。默认系统非常慢,主要是由于奇怪的SQL架构。

答案 1 :(得分:0)

您需要使用该方法获取所有用户并按ID列表过滤(我假设您的意思是用户名)。

using System.Web.Security;

string[] userIds = { "username1", "username2", "username3" };

var users = Membership.GetAllUsers()
    .Cast<MembershipUser>()
    .Where(x => userIds.Contains(x.UserName));