Share via


ActiveDirectoryMembershipProvider.CreateUser Metodo

Definizione

Aggiunge un nuovo utente all'archivio dati di 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

Parametri

username
String

Nome utente per il nuovo utente.

password
String

Password per il nuovo utente.

email
String

Indirizzo di posta elettronica del nuovo utente.

passwordQuestion
String

Domanda segreta per il nuovo utente.

passwordAnswer
String

Risposta per la password del nuovo utente.

isApproved
Boolean

Indica se il nuovo utente è o meno approvato per la convalida.

providerUserKey
Object

Identificatore univoco dall'origine dati di appartenenza per l'utente. Questo parametro deve essere null quando si utilizza la classe ActiveDirectoryMembershipProvider.

status
MembershipCreateStatus

Quando termina, questo metodo contiene uno dei valori di enumerazione della classe MembershipCreateStatus, che indica se l'utente è stato creato correttamente.

Restituisce

Un'istanza della classe ActiveDirectoryMembershipUser contenente le informazioni dell'utente appena creato, oppure null se la creazione dell'utente non ha avuto esito positivo.

Eccezioni

Il parametro providerUserKey non è null.

L'amministratore non ha mappato i campi di domanda e risposta relative alla password sugli attributi dello schema di Active Directory e il parametro passwordQuestion o passwordAnswer non è null.

L'elemento di configurazione machineKey Element (schema delle impostazioni ASP.NET) indica una chiave di crittografia generata automaticamente dal computer. È necessario impostare in modo esplicito l'attributo decryptionKey dell'elemento machineKey Element (schema delle impostazioni ASP.NET) per archiviare le risposte per le password con l'oggetto ActiveDirectoryMembershipProvider.

-oppure-

La classe ActiveDirectoryMembershipProvider non è stata in grado di stabilire una connessione sicura con la directory nel tentativo di impostare la password per il nuovo utente.

Si è verificato un errore durante il tentativo di creazione dell'utente.

Commenti

Il CreateUser metodo viene chiamato dalla Membership classe per creare un nuovo utente nell'archivio dati di Active Directory.

Per i server Active Directory e Active Directory Application Mode (ADAM), la ActiveDirectoryMembershipProvider classe richiede che la classe di istanza nella directory sia user. Le classi utente alternative, ad inetOrgPerson esempio, non sono supportate.

Quando si usa un server Active Directory e viene eseguito il mapping del nome utente all'attributo userPrincipalName , la ActiveDirectoryMembershipProvider classe genererà automaticamente un nome utente di 20 caratteri casuale per il parametro per conto dell'utente sAMAccountName .

Per impostazione predefinita, i parametri sono le lunghezze massime seguenti.

Parametro Lunghezza massima
username 64 caratteri se si usa l'attributo userPrincipalName . Se si usa l'attributo sAMAccountName , la restrizione comune è di 20 caratteri o meno.
password 128 caratteri.
email 256 caratteri.
passwordQuestion 256 caratteri.
passwordAnswer 128 caratteri prima e dopo la crittografia.

La Comment proprietà nell'istanza restituita ActiveDirectoryMembershipUser è limitata a 1024 caratteri.

Se lo schema della directory è stato modificato riducendo le lunghezze massime consentite per questi attributi, queste lunghezze avranno la precedenza.

Prima di creare l'utente, la ActiveDirectoryMembershipProvider classe assicurerà che il nome utente sia univoco. Se l'istanza ActiveDirectoryMembershipProvider è configurata per richiedere indirizzi di posta elettronica univoci, verifica anche che l'indirizzo di posta elettronica sia univoco.

In un'univocità del nome utente di Active Directory viene applicata eseguendo una ricerca GC quando viene eseguito il mapping del nome utente a userPrincipalName. Se sAMAccountName viene usato, la directory applichererà automaticamente l'univocità di nell'intero sAMAccountName dominio di Active Directory.

Un server ADAM applichererà automaticamente l'univocità del nome utente di userPrincipalName in tutte le partizioni dell'applicazione.

L'univocità dell'indirizzo di posta elettronica viene applicata eseguendo una ricerca sottoalbero per un indirizzo di posta elettronica duplicato a partire dalla radice del contenitore in cui vengono creati gli utenti. Si tratta del contenitore utente predefinito (se connesso a un'istanza di Active Directory e non è stato specificato alcun contenitore nella stringa di connessione) o del contenitore specificato nella stringa di connessione.

La ActiveDirectoryMembershipProvider classe crea l'utente direttamente nel contenitore utente specificato nella stringa di connessione. Per altre informazioni sulle stringhe di connessione, vedere l'argomento relativo alla ActiveDirectoryMembershipProvider classe.

Per impostare le password in un server Active Directory, l'attributo connectionProtection deve essere impostato su SignAndSeal.

Quando si usa un server ADAM, l'attributo connectionProtection può essere impostato su None, ma solo se si configura in modo esplicito il server ADAM per consentire le modifiche delle password su connessioni non protette.

Gli spazi iniziali e finali vengono eliminati da tutti i valori dei parametri stringa, ad eccezione passworddi .

Importante

Non è possibile creare nuovi utenti a meno che le credenziali usate per connettersi al server Active Directory abbiano diritti di amministratore di dominio (scelta non consigliata) o "crea istanza figlio", "elimina istanza figlio" e "imposta password" diritti di accesso. Il diritto di accesso "Elimina istanza figlio" è necessario perché la creazione di un utente è un processo in più passaggi e, se un passaggio di creazione dell'utente ha esito negativo, la ActiveDirectoryMembershipProvider classe eliminerà l'istanza utente anziché lasciare un'istanza utente parzialmente costruita nella directory.

Si applica a

Vedi anche