asp.net会员资格按ID获取多个用户

本文关键字:获取 ID 用户 net asp | 更新日期: 2023-09-27 18:25:49

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

asp.net会员资格按ID获取多个用户

"multiple"是多少?如果它在2-100之间,我只需要编写一个小的实用程序项,获取ID,然后一次加载一个。

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

如果您想在任何类型的性能关键上下文中访问用户配置文件,您绝对必须提供自己的系统。默认系统的速度非常慢,主要是由于异常奇怪的SQL模式。

您需要使用获取所有用户的方法,并通过您的ID列表进行过滤(我认为您指的是用户名)。

using System.Web.Security;
string[] userIds = { "username1", "username2", "username3" };
var users = Membership.GetAllUsers()
    .Cast<MembershipUser>()
    .Where(x => userIds.Contains(x.UserName));