Actualmente estoy intentando autenticarme a través de los Servicios de Active Directory utilizando la clase PrincipalContext. Me gustaría que mi aplicación se autenticara en el Dominio usando contextos Sellados y SSL. Con el fin de hacer esto, tengo que usar the following constructor of PrincipalContext (link to MSDN page):Servicios de Active Directory: PrincipalContext - ¿Cuál es el DN de un objeto "contenedor"?
public PrincipalContext(
ContextType contextType,
string name,
string container,
ContextOptions options
)
Específicamente, estoy usando el constructor como tan:
PrincipalContext domainContext = new PrincipalContext(
ContextType.Domain,
domain,
container,
ContextOptions.Sealing | ContextOptions.SecureSocketLayer);
MSDN dice acerca de "contenedor":
El contenedor en la tienda para usar como la raíz del contexto. Todas las consultas se realizan bajo esta raíz y todas las inserciones se realizan en este contenedor . Para Domain y ApplicationDirectory tipos de contexto, este parámetro es el nombre distinguido (DN) de un objeto contenedor.
¿Cuál es el DN de un objeto contenedor? ¿Cómo averiguo cuál es mi objeto contenedor? ¿Puedo consultar el servidor de Active Directory (o LDAP) para esto?
Su explicación para "la parte extraña" fue la clave para arreglar un retraso de 20 segundos llamando a 'ValidateCredentials'. ¡Gracias! –
Sé que esto es muy viejo, pero estoy investigando si usar SSL o no sobre la firma y encontré esta publicación. Creo que podrías usar 'null' en el constructor. Así es como lo hago cuando quiero especificar ContextOptions. Ejemplo: 'var pc = new PrincipalContext (ContextType.Domain, Environment.UserDomainName, null, ContextOptions.Sealing);' – famousKaneis
@nameless: creo que eso es lo que el código muestra en el último bloque de código. (FWIW, apenas recuerdo de qué se trataba esto, pero recuerda estar muy feliz cuando lo descubrí). :) – Pretzel