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