ActiveDirectoryMembershipProvider.CreateUser Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
- 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.
Se llama al método CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) antes de que se inicializa la instancia de ActiveDirectoryMembershipProvider.
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.