ActiveDirectoryMembershipProvider.FindUsersByName Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma coleção de usuários de armazenamento de dados do Active Directory com base no nome de usuário.
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
Parâmetros
- usernameToMatch
- String
O nome de usuário ou parte de um nome de usuário a ser pesquisada.
- pageIndex
- Int32
O índice da página de resultados a serem retornados.
pageIndex
é baseado em zero.
- pageSize
- Int32
O tamanho da página de resultados a ser retornada.
- totalRecords
- Int32
Quando este método retorna, contém o número total de registros retornado da coleção. Este parâmetro é passado não inicializado.
Retornos
Um MembershipUserCollection contendo instâncias pageSize
MembershipUser começando na página especificada por pageIndex
.
Exceções
O método FindUsersByName(String, Int32, Int32, Int32) é chamado antes que a instância ActiveDirectoryMembershipProvider seja inicializada.
usernameToMatch
está vazio ou excede o comprimento máximo do nome de usuário (normalmente de 256 caracteres).
- ou -
usernameToMatch
contém vírgulas.
- ou -
pageIndex
é menor que 0.
-ou
pageSize
é menor que 1.
- ou -
pageSize
multiplicado por pageIndex
, mais pageSize
, menos 1 é maior que Int32.MaxValue.
usernameToMatch
é null
.
A propriedade EnableSearchMethods é false
.
Comentários
O FindUsersByName método retorna uma MembershipUserCollection instância que contém os registros de usuário do armazenamento de dados do Active Directory para todos os nomes de usuário que correspondem aos userNameToMatch
parâmetros. Os registros são retornados classificados em ordem alfabética por nome de usuário.
Os resultados retornados pelo FindUsersByName método são restritos pelos pageIndex
parâmetros e pageSize
. O pageSize
parâmetro especifica o número máximo de MembershipUser instâncias a serem retornadas no MembershipUserCollection. O pageIndex
parâmetro especifica qual página de resultados retornar, em que 0 (zero) indica a primeira página.
O totalRecords
parâmetro é um out
parâmetro definido como o número total de usuários associados correspondentes encontrados no armazenamento de dados do Active Directory. Por exemplo, se houver 13 usuários para o armazenamento de dados configurado e o pageIndex
valor for 1 com um pageSize
de 5, o MembershipUserCollection retornado conterá o sexto ao décimo usuário. O totalRecords
parâmetro seria definido como 13.
Você pode controlar se deseja permitir a pesquisa de usuários, definindo a EnableSearchMethods propriedade no arquivo de configuração do aplicativo usando o enableSearchMethods
atributo do elemento elemento membership (ASP.NET Settings Schema). Definir o valor da EnableSearchMethods propriedade como false
faz com que o FindUsersByName método gere uma NotSupportedException exceção.
O provedor usa uma pesquisa de subárvore começando no ponto de pesquisa especificado na cadeia de conexão. Consulte o tópico de ActiveDirectoryMembershipProvider classe para obter mais informações sobre cadeias de conexão.
Recomendamos que você não habilite a pesquisa em sistemas de produção até confirmar que as consultas de pesquisa emitidas pela classe não afetam negativamente o ActiveDirectoryMembershipProvider desempenho do servidor de diretório. Como a ActiveDirectoryMembershipProvider classe foi projetada para um ambiente Web sem estado, não é possível usar as otimizações de paginação expostas pelas APIs subjacentes System.DirectoryServices . Isso significa que as operações de paginação durante pesquisas em diretórios grandes são muito caras e devem ser evitadas. As operações de pesquisa sempre são emitidas no servidor de diretório configurado na cadeia de conexão ou em um servidor selecionado automaticamente no caso de uma cadeia de conexão apontando para um domínio. O provedor não usa um catálogo global para seus métodos de pesquisa.