ActiveDirectoryMembershipProvider.CreateUser Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ajoute un nouvel utilisateur au magasin de données 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
Paramètres
- username
- String
Nom d’utilisateur du nouvel utilisateur.
- password
- String
Mot de passe du nouvel utilisateur.
- String
Adresse e-mail du nouvel utilisateur.
- passwordQuestion
- String
Question de mot de passe pour le nouvel utilisateur.
- passwordAnswer
- String
Réponse de mot de passe du nouvel utilisateur.
- isApproved
- Boolean
Indique si le nouvel utilisateur est approuvé pour être validé.
- providerUserKey
- Object
Identificateur unique tiré de la source de données d’appartenance pour l’utilisateur. Ce paramètre doit être null
lors de l'utilisation de la classe ActiveDirectoryMembershipProvider.
- status
- MembershipCreateStatus
Cette méthode retourne une des valeurs d'énumération MembershipCreateStatus, indiquant si l'utilisateur a été créé avec succès.
Retours
Instance de ActiveDirectoryMembershipUser contenant les informations pour l'utilisateur créé récemment, ou null
si la création de l'utilisateur a échoué.
Exceptions
Le paramètre providerUserKey
n’est pas null
.
L'administrateur n'a pas mappé les champs de question et de réponse de mot de passe aux attributs du schéma Active Directory, et le paramètre passwordQuestion
ou passwordAnswer
n'est pas null
.
L’élément de configuration machineKey (Schéma des paramètres ASP.NET) indique une clé de chiffrement d’ordinateur générée automatiquement. Vous devez définir explicitement l’attribut decryptionKey
de l’élément machineKey (Schéma des paramètres ASP.NET) pour stocker les réponses de mot de passe avec ActiveDirectoryMembershipProvider.
- ou -
Le ActiveDirectoryMembershipProvider n'a pas pu établir une connexion sécurisée à l'annuaire lors de la tentative de définition du mot de passe pour le nouvel utilisateur.
Une erreur s'est produite lors de la tentative de création de l'utilisateur.
La méthode CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) est appelée avant l'initialisation de l'instance de ActiveDirectoryMembershipProvider.
Remarques
La CreateUser méthode est appelée par la Membership classe pour créer un utilisateur dans le magasin de données Active Directory.
Pour les serveurs Active Directory et Adam (Active Directory Application Mode), la ActiveDirectoryMembershipProvider classe nécessite que la classe d’instance dans le répertoire soit user
. Les autres classes d’utilisateur telles que inetOrgPerson
ne sont pas prises en charge.
Lorsque vous utilisez un serveur Active Directory et que le nom d’utilisateur est mappé à l’attribut userPrincipalName
, la ActiveDirectoryMembershipProvider classe génère automatiquement un nom d’utilisateur aléatoire de 20 caractères pour le sAMAccountName
paramètre en votre nom.
Les paramètres sont par défaut les longueurs maximales suivantes.
Paramètre | Longueur maximale |
---|---|
username |
64 caractères si vous utilisez l’attribut userPrincipalName . Si vous utilisez l’attribut sAMAccountName , la restriction courante est de 20 caractères ou moins. |
password |
128 caractères. |
email |
256 caractères. |
passwordQuestion |
256 caractères. |
passwordAnswer |
128 caractères avant et après le chiffrement. |
La Comment propriété sur l’instance retournée ActiveDirectoryMembershipUser est limitée à 1 024 caractères.
Si le schéma de répertoire a été modifié en réduisant les longueurs maximales autorisées pour ces attributs, ces longueurs sont prioritaires.
Avant de créer l’utilisateur, la ActiveDirectoryMembershipProvider classe vérifie que le nom d’utilisateur est unique. Si l’instance ActiveDirectoryMembershipProvider est configurée pour exiger des adresses e-mail uniques, elle vérifie également que l’adresse e-mail est unique.
Dans un nom d’utilisateur Active Directory, l’unicité est appliquée en effectuant une recherche gc lorsque le nom d’utilisateur est mappé à userPrincipalName
. Si sAMAccountName
est utilisé, l’annuaire applique automatiquement l’unicité de dans sAMAccountName
le domaine Active Directory.
Un serveur ADAM applique automatiquement l’unicité du nom d’utilisateur sur userPrincipalName
toutes les partitions d’application.
L’unicité de l’adresse e-mail est appliquée en effectuant une recherche de sous-arborescence pour une adresse e-mail en double commençant à la racine du conteneur dans lequel les utilisateurs sont créés. Il s’agit du conteneur utilisateur par défaut (s’il est connecté à un annuaire Active Directory et qu’aucun conteneur n’a été spécifié dans la chaîne de connexion) ou du conteneur spécifié dans la chaîne de connexion.
La ActiveDirectoryMembershipProvider classe crée l’utilisateur directement dans le conteneur utilisateur spécifié dans la chaîne de connexion. Consultez la rubrique de ActiveDirectoryMembershipProvider classe pour plus d’informations sur les chaînes de connexion.
Pour que les mots de passe soient définis sur un serveur Active Directory, l’attribut connectionProtection
doit avoir la valeur SignAndSeal.
Lorsqu’un serveur ADAM est utilisé, l’attribut connectionProtection
peut être défini sur None, mais uniquement si vous configurez explicitement le serveur ADAM pour autoriser les modifications de mot de passe sur des connexions non sécurisées.
Les espaces de début et de fin sont supprimés de toutes les valeurs de paramètre de chaîne à l’exception password
de .
Important
Vous ne pouvez pas créer de nouveaux utilisateurs, sauf si les informations d’identification utilisées pour se connecter au serveur Active Directory disposent de droits d’administrateur de domaine (non recommandé) ou des droits d’accès « créer une instance enfant », « supprimer l’instance enfant » et « définir le mot de passe ». Le droit d’accès « supprimer l’instance enfant » est requis, car la création d’un utilisateur est un processus en plusieurs étapes, et si une étape de création d’utilisateur échoue, la ActiveDirectoryMembershipProvider classe supprime l’instance utilisateur au lieu de laisser une instance d’utilisateur partiellement construite dans l’annuaire.