ActiveDirectoryMembershipProvider.CreateUser Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adiciona um novo utilizador ao armazenamento de dados do Active Directory.
public:
override System::Web::Security::MembershipUser ^ CreateUser(System::String ^ username, System::String ^ password, System::String ^ email, System::String ^ passwordQuestion, System::String ^ passwordAnswer, bool isApproved, System::Object ^ providerUserKey, [Runtime::InteropServices::Out] System::Web::Security::MembershipCreateStatus % status);
public override System.Web.Security.MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out System.Web.Security.MembershipCreateStatus status);
override this.CreateUser : string * string * string * string * string * bool * obj * MembershipCreateStatus -> System.Web.Security.MembershipUser
Public Overrides Function CreateUser (username As String, password As String, email As String, passwordQuestion As String, passwordAnswer As String, isApproved As Boolean, providerUserKey As Object, ByRef status As MembershipCreateStatus) As MembershipUser
Parâmetros
- username
- String
O nome de utilizador do novo utilizador.
- password
- String
A palavra-passe do novo utilizador.
- String
O endereço de email do novo utilizador.
- passwordQuestion
- String
A pergunta da palavra-passe para o novo utilizador.
- passwordAnswer
- String
A resposta por palavra-passe para o novo utilizador.
- isApproved
- Boolean
Se o novo utilizador está ou não aprovado para validação.
- providerUserKey
- Object
O identificador único da fonte de dados de adesão para o utilizador. Este parâmetro deve ser ao null usar a ActiveDirectoryMembershipProvider classe.
- status
- MembershipCreateStatus
Quando este método retorna, contém um dos MembershipCreateStatus valores de enumeração que indicam se o utilizador foi criado com sucesso.
Devoluções
Uma ActiveDirectoryMembershipUser instância contendo a informação do utilizador recém-criado, ou null se o utilizador não foi criado com sucesso.
Exceções
O providerUserKey parâmetro não nullé .
O administrador não mapeou os campos de perguntas e respostas da palavra-passe para atributos do esquema Active Directory, e nem o parâmetro passwordQuestion nem passwordAnswer não é null.
O elemento de configuração machineKey (ASP.NET Settings Schema) indica uma chave de encriptação automática da máquina. Deve definir explicitamente o atributo decryptionKey do elemento machineKey Element (ASP.NET Settings Schema) para armazenar respostas por palavra-passe com o ActiveDirectoryMembershipProvider.
-ou-
Não ActiveDirectoryMembershipProvider conseguiu estabelecer uma ligação segura ao diretório ao tentar definir a palavra-passe para o novo utilizador.
Ocorreu um erro ao tentar criar o utilizador.
O CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) método é chamado antes da ActiveDirectoryMembershipProvider instância ser inicializada.
Observações
O método CreateUser é chamado pela classe Membership para criar um novo utilizador na Active Directory data store.
Para servidores Active Directory e Active Directory Modo de Aplicação (ADAM), a classe ActiveDirectoryMembershipProvider exige que a classe de instância no diretório seja user. Classes de utilizador alternativas, como essa inetOrgPerson , não são suportadas.
Ao usar um servidor Active Directory e o nome de utilizador é mapeado para o atributo userPrincipalName, a classe ActiveDirectoryMembershipProvider gerará automaticamente um nome de utilizador aleatório de 20 caracteres para o parâmetro sAMAccountName em seu nome.
Os parâmetros são os seguintes comprimentos máximos por padrão.
| Parâmetro | Comprimento máximo |
|---|---|
username |
64 caracteres se usar o userPrincipalName atributo. Se usar o sAMAccountName atributo, a restrição comum é de 20 caracteres ou menos. |
password |
128 caracteres. |
email |
256 caracteres. |
passwordQuestion |
256 caracteres. |
passwordAnswer |
128 caracteres antes e depois de encriptar. |
A Comment propriedade na instância devolvida ActiveDirectoryMembershipUser está limitada a 1024 caracteres.
Se o esquema do diretório tiver sido modificado reduzindo os comprimentos máximos permitidos para estes atributos, estes comprimentos terão prioridade.
Antes de criar o utilizador, a ActiveDirectoryMembershipProvider classe certifica-se de que o nome de utilizador é único. Se a ActiveDirectoryMembershipProvider instância estiver configurada para exigir endereços de email únicos, também garantirá que o endereço é único.
Num Active Directory a unicidade do nome de utilizador é aplicada através de uma pesquisa GC quando o nome de utilizador é mapeado para userPrincipalName. Se for usado sAMAccountName, o diretório irá automaticamente aplicar a unicidade do sAMAccountName em todo o domínio Active Directory.
Um servidor ADAM irá automaticamente impor a unicidade userPrincipalName do nome de utilizador em todas as partições da aplicação.
A singularidade do endereço de email é reforçada através da realização de uma pesquisa em subárvore por um endereço de email duplicado, começando pela raiz do contentor onde os utilizadores são criados. Este é ou o contentor padrão do utilizador (se estiver ligado a um Active Directory e não for especificado nenhum contentor na cadeia de ligação) ou o contentor especificado na cadeia de ligação.
A classe ActiveDirectoryMembershipProvider cria o utilizador diretamente no contentor especificado na cadeia de ligação. Consulte o ActiveDirectoryMembershipProvider tópico da aula para mais informações sobre cordas de ligação.
Para que as palavras-passe sejam definidas num servidor Active Directory, o atributo connectionProtection deve ser definido como SignAndSeal.
Quando um servidor ADAM está a ser utilizado, o connectionProtection atributo pode ser definido para None, mas apenas se configurar explicitamente o servidor ADAM para permitir alterações de palavra-passe em ligações não seguras.
Os espaços à frente e à saída são cortados de todos os valores dos parâmetros da cadeia, exceto password.
Importante
Não pode criar novos utilizadores a menos que as credenciais usadas para se ligar ao servidor Active Directory tenham direitos de Administrador de Domínio (não recomendado) ou os direitos de acesso "criar instância filha", "eliminar instância filha" e "definir palavra-passe". O direito de acesso "eliminar instância filha" é necessário porque criar um utilizador é um processo em várias etapas e, se qualquer etapa da criação falhar, a ActiveDirectoryMembershipProvider classe irá eliminar a instância de utilizador em vez de deixar uma instância parcialmente construída no diretório.