J'essaie actuellement de m'authentifier via les services Active Directory en utilisant la classe PrincipalContext. Je voudrais que mon application s'authentifie auprès du domaine en utilisant des contextes Sealed et SSL. Pour ce faire, je dois utiliser the following constructor of PrincipalContext (link to MSDN page):Services Active Directory: PrincipalContext - Quel est le nom distinctif d'un objet "conteneur"?
public PrincipalContext(
ContextType contextType,
string name,
string container,
ContextOptions options
)
Plus précisément, j'utilise le constructeur comme si:
PrincipalContext domainContext = new PrincipalContext(
ContextType.Domain,
domain,
container,
ContextOptions.Sealing | ContextOptions.SecureSocketLayer);
MSDN dit à propos de "conteneur":
Le conteneur sur le magasin à utiliser comme la racine du contexte. Toutes les requêtes sont exécutées sous cette racine et toutes les insertions sont effectuées dans ce conteneur . Pour Domain et les types de contexte ApplicationDirectory, ce paramètre est le (DN) distingué d'un objet conteneur.
Quel est le DN d'un objet conteneur? Comment puis-je savoir quel est mon objet conteneur? Puis-je interroger le serveur Active Directory (ou LDAP) pour cela?
Votre explication de "la partie étrange" était la clé pour fixer un délai de 20 secondes appelant 'ValidateCredentials'. Merci! –
Je sais que c'est super vieux, mais je suis en train de chercher si oui ou non utiliser SSL sur Signing et est tombé sur ce post. Je crois que vous pourriez utiliser 'null' dans le constructeur. C'est comme ça que je le fais quand je veux spécifier ContextOptions. Exemple: 'var pc = nouveau PrincipalContext (ContextType.Domain, Environment.UserDomainName, null, ContextOptions.Sealing);' – famousKaneis
@nameless: Je pense que c'est ce que le code montre dans le dernier bloc de code. (FWIW, je me souviens à peine de quoi il s'agissait, mais souvenez-vous d'être vraiment heureux quand je l'ai compris.) :) – Pretzel