Problemi di autenticazione per ADSI con ASP
A seconda della configurazione della rete Intranet, possono verificarsi problemi di autenticazione quando il codice ADSI viene eseguito da una pagina ASP.
È possibile assegnare l'autenticazione per accedere al controller di dominio usando la delega. La delega consente a un servizio di agire come utente, in modo che possa accedere a una risorsa di rete usando tali credenziali utente. Se la rete Intranet segue questa configurazione, è necessario configurare IIS per l'uso della delega. Impostare il meccanismo di autenticazione IIS come Anonimo o NTLM. Se si sceglie anonima, il contesto di sicurezza verrà mappato all'account IUSR_MACHINE. Se si seleziona NTLM, il contesto di sicurezza cambierà, a seconda dell'utente che accede al sito Web.
Se si usa un server IIS che usa la richiesta/risposta NT o un client browser che non supporta Kerberos, l'autenticazione a doppio hop non è supportata. L'autenticazione a doppio hop indica che le credenziali utente vengono passate dal client del browser al server IIS e quindi il server IIS passa le credenziali al server back-end. In questo caso, è possibile usare una delle soluzioni seguenti per consentire l'accesso alla directory dalla pagina ASP:
- Usare IADsOpenDSObject::OpenDSObject o ADsOpenObject per passare le credenziali ad Active Directory. La pagina Web autentica l'utente connesso sul server IIS. Quando l'utente è stato autenticato, la pagina Web può usare OpenDSObject o ADsOpenObject per passare un nome utente e una password al servizio directory per ottenere l'autenticazione al server back-end. La pagina Web può quindi accedere ai dati dalla directory.
- Aggiungere il codice a un oggetto COM e inserire questo oggetto in un'applicazione COM+ (precedentemente denominata pacchetto MTS). L'applicazione COM+ può quindi essere eseguita come account utente di dominio.
- Usare più pagine ASP, in cui una pagina autentica il client e un'altra pagina passa le credenziali alla directory usando l'autenticazione anonima in un account utente di dominio.
Questi metodi comportano l'autenticazione del client Web e la modifica delle credenziali quando si contatta la directory perché l'autenticazione a doppio hop, con le stesse credenziali, non è possibile.