Attualmente sto cercando di autenticare tramite Active Directory Services utilizzando la classe PrincipalContext. Vorrei che la mia applicazione autentificasse il dominio usando i contesti Sealed e SSL. Per fare questo, devo usare the following constructor of PrincipalContext (link to MSDN page):Servizi Active Directory: PrincipalContext - Qual è il DN di un oggetto "contenitore"?
public PrincipalContext(
ContextType contextType,
string name,
string container,
ContextOptions options
)
In particolare, sto utilizzando il costruttore come così:
PrincipalContext domainContext = new PrincipalContext(
ContextType.Domain,
domain,
container,
ContextOptions.Sealing | ContextOptions.SecureSocketLayer);
MSDN dice di "contenitore":
Il contenitore nel negozio da utilizzare come la radice del contesto. Tutte le query vengono eseguite in questa radice e tutti gli inserimenti vengono eseguiti in questo contenitore . Per domini e tipi di contesto ApplicationDirectory , questo parametro è il nome distinto (DN) di un oggetto contenitore.
Qual è il DN di un oggetto contenitore? Come posso scoprire qual è il mio oggetto contenitore? Posso interrogare il server Active Directory (o LDAP) per questo?
La spiegazione per "la parte strana" era la chiave per correggere un ritardo di 20 secondi chiamando "ValidateCredentials". Grazie! –
So che questo è super vecchio, ma sto studiando se usare o meno SSL su Signing e ho trovato questo post. Credo che potresti usare 'null' nel costruttore. Ecco come lo faccio quando voglio specificare ContextOptions. Esempio: 'var pc = new PrincipalContext (ContextType.Domain, Environment.UserDomainName, null, ContextOptions.Sealing);' – famousKaneis
@nameless: Penso che sia ciò che il codice mostra nell'ultimo blocco di codice. (FWIW, ricordo a malapena di cosa si trattava, ma ricorda di essere stato davvero felice quando l'ho capito.) :) – Pretzel