ActiveDirectoryMembershipProvider.CreateUser Método

Definición

Agrega un nuevo usuario al almacén de datos de 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

Nombre de usuario del nuevo usuario.

password
String

La contraseña para el nuevo usuario.

email
String

Dirección de correo electrónico del nuevo usuario.

passwordQuestion
String

Pregunta de contraseña del nuevo usuario.

passwordAnswer
String

Respuesta de contraseña del nuevo usuario.

isApproved
Boolean

Si se aprueba o no la validación del nuevo usuario.

providerUserKey
Object

Identificador único el origen de datos de pertenencia para el usuario. Este parámetro debe ser null cuando se utiliza la clase ActiveDirectoryMembershipProvider.

status
MembershipCreateStatus

El resultado que devuelva este método contendrá uno de los valores de la enumeración MembershipCreateStatus que indica si se ha creado correctamente el usuario.

Devoluciones

Instancia de ActiveDirectoryMembershipUser que contiene la información del usuario que se acaba de crear o null si el usuario no se ha creado correctamente.

Excepciones

El parámetro providerUserKey no es un objeto null.

El administrador no ha asignado los campos de pregunta y respuesta de contraseña a los atributos del esquema de Active Directory y uno de los parámetros passwordQuestion o passwordAnswer es null.

El elemento de configuración machineKey (Esquema de configuración de ASP.NET) indica una clave de cifrado de equipo generada automáticamente. Debe establecer explícitamente el atributo decryptionKey del elemento de configuración machineKey (Esquema de configuración de ASP.NET) para almacenar las respuestas de contraseña con ActiveDirectoryMembershipProvider.

o bien

ActiveDirectoryMembershipProvider no ha podido establecer una conexión segura con el directorio al intentar establecer la contraseña para el nuevo usuario.

Se ha producido un error al intentar crear el usuario.

Comentarios

La CreateUser clase llama Membership al método para crear un nuevo usuario en el almacén de datos de Active Directory.

Para los servidores Active Directory y modo de aplicación de Active Directory (ADAM), la ActiveDirectoryMembershipProvider clase requiere que la clase de instancia del directorio sea user. No se admiten clases de usuario alternativas, como inetOrgPerson .

Cuando se usa un servidor de Active Directory y el nombre de usuario se asigna al userPrincipalName atributo , la ActiveDirectoryMembershipProvider clase generará automáticamente un nombre de usuario aleatorio de 20 caracteres para el sAMAccountName parámetro en su nombre.

Los parámetros de forma predeterminada son las siguientes longitudes máximas.

Parámetro Longitud máxima
username 64 caracteres si se usa el userPrincipalName atributo . Si usa el sAMAccountName atributo , la restricción común es de 20 caracteres o menos.
password 128 caracteres.
email 256 caracteres.
passwordQuestion 256 caracteres.
passwordAnswer 128 caracteres antes y después del cifrado.

La Comment propiedad de la instancia devuelta ActiveDirectoryMembershipUser está limitada a 1024 caracteres.

Si el esquema de directorio se ha modificado reduciendo las longitudes máximas permitidas para estos atributos, estas longitudes tendrán prioridad.

Antes de crear el usuario, la ActiveDirectoryMembershipProvider clase se asegurará de que el nombre de usuario sea único. Si la ActiveDirectoryMembershipProvider instancia está configurada para requerir direcciones de correo electrónico únicas, también se asegurará de que la dirección de correo electrónico sea única.

En una exclusividad de nombre de usuario de Active Directory, se aplica mediante la realización de una búsqueda de GC cuando el nombre de usuario se asigna a userPrincipalName. Si sAMAccountName se usa, el directorio aplicará automáticamente la sAMAccountName unicidad del en el dominio de Active Directory.

Un servidor ADAM aplicará automáticamente la unicidad del nombre de usuario de en todas las particiones de userPrincipalName la aplicación.

La unicidad de la dirección de correo electrónico se aplica realizando una búsqueda de subárbol para buscar una dirección de correo electrónico duplicada a partir de la raíz del contenedor en el que se crean los usuarios. Este es el contenedor de usuarios predeterminado (si está conectado a Active Directory y no se especificó ningún contenedor en la cadena de conexión) o el contenedor especificado en la cadena de conexión.

La ActiveDirectoryMembershipProvider clase crea el usuario directamente en el contenedor de usuarios especificado en la cadena de conexión. Consulte el ActiveDirectoryMembershipProvider tema de la clase para obtener más información sobre las cadenas de conexión.

Para que las contraseñas se establezcan en un servidor de Active Directory, el connectionProtection atributo debe establecerse SignAndSealen .

Cuando se usa un servidor ADAM, el connectionProtection atributo se puede establecer Noneen , pero solo si configura explícitamente el servidor ADAM para permitir los cambios de contraseña en las conexiones no seguras.

Los espacios iniciales y finales se recortan de todos los valores de parámetro de cadena, excepto password.

Importante

No puede crear nuevos usuarios a menos que las credenciales usadas para conectarse al servidor de Active Directory tengan derechos de administrador de dominio (no recomendado) o "crear una instancia secundaria", "eliminar instancia secundaria" y derechos de acceso "establecer contraseña". El derecho de acceso "eliminar instancia secundaria" es necesario porque la creación de un usuario es un proceso de varios pasos y, si se produce un error en cualquier paso de creación de usuario, la ActiveDirectoryMembershipProvider clase eliminará la instancia de usuario en lugar de dejar una instancia de usuario construida parcialmente en el directorio.

Se aplica a

Consulte también