ActiveDirectoryMembershipProvider.FindUsersByName 方法

定义

根据用户名从 Active Directory 数据存储区返回用户的集合。

public:
 override System::Web::Security::MembershipUserCollection ^ FindUsersByName(System::String ^ usernameToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.Security.MembershipUserCollection FindUsersByName (string usernameToMatch, int pageIndex, int pageSize, out int totalRecords);
override this.FindUsersByName : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Overrides Function FindUsersByName (usernameToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection

参数

usernameToMatch
String

要搜索的用户名或部分用户名。

pageIndex
Int32

要返回的结果页的索引。 pageIndex 从零开始。

pageSize
Int32

要返回的结果页的大小。

totalRecords
Int32

当此方法返回时,此参数包含在集合中返回的记录的总数。 此参数未经初始化即被传递。

返回

一个 MembershipUserCollection,其中包含从 pageSize 所指定的页开始的 pageIndexMembershipUser 实例。

例外

usernameToMatch 为空,或超过用户名的最大长度(通常为 256 个字符)。

- 或 -

usernameToMatch 包含逗号。

- 或 -

pageIndex 小于 0。

- 或 -

pageSize 小于 1。

pageSizepageIndex以 、加 pageSize、减 1 大于 Int32.MaxValue

usernameToMatchnull

注解

方法 FindUsersByName 返回一个 MembershipUserCollection 实例,其中包含 Active Directory 数据存储区中与参数匹配的所有用户名的用户 userNameToMatch 记录。 记录按用户名按字母顺序返回。

方法返回 FindUsersByName 的结果受 pageIndexpageSize 参数的约束。 参数pageSize指定要在 中MembershipUserCollection返回的最大实例数MembershipUser。 参数 pageIndex 指定要返回的结果页,其中 0 (零) 表示第一页。

参数 totalRecords 是一个 out 参数,设置为在 Active Directory 数据存储中找到的匹配成员身份用户总数。 例如,如果配置的数据存储有 13 个用户,并且 pageIndex 值为 1,值为 pageSize 5,则 MembershipUserCollection 返回的 将包含第六个到第十个用户。 参数 totalRecords 将设置为 13。

可以通过使用 enableSearchMethodsmembership Element (ASP.NET Settings Schema) 元素的 属性在应用程序的配置文件中设置 EnableSearchMethods 属性来控制是否允许搜索用户。 将 EnableSearchMethods 属性值设置为 会导致 falseFindUsersByName 方法引发 NotSupportedException 异常。

提供程序使用从连接字符串中指定的搜索点开始的子树搜索。 有关连接字符串的详细信息, ActiveDirectoryMembershipProvider 请参阅类主题。

建议在确认 类发出的 ActiveDirectoryMembershipProvider 搜索查询不会对目录服务器的性能产生负面影响之前,不要在生产系统上启用搜索。 ActiveDirectoryMembershipProvider由于 类专为无状态 Web 环境而设计,因此它无法使用基础 System.DirectoryServices API 公开的分页优化。 这意味着在搜索大型目录期间执行分页操作非常昂贵,应避免这样做。 搜索操作始终针对连接字符串中配置的目录服务器发出,如果连接字符串指向域,则针对自动选择的服务器发出搜索操作。 提供程序不对其搜索方法使用全局编录。

适用于

另请参阅