Per fare in modo che l'autenticazione su Active Directory funzioni su più domini attraverso una singola pagina di autenticazione è necessario seguire le indicazioni dello script #827, ripetendo la definizione di un provider specifico per ognuno dei domini sui quali si vuole effettuare l'autenticazione.
Successivamente alla registrazione ed alla definizione dell'autenticazione via Forms e delle autorizzazioni è necessario sostituire la pagina di login con una custom.
Non si possono infatti utilizzare i controlli di default, in quanto non rendono possibile l'utilizzo di un provider secondo le modalità da noi desiderate.
Per fare questo è dunque necessario disegnare una nuova form con due Textbox, una per username e l'altra per la password, ed una DropDownList con la selezione dei domini su cui poter agire. Infine va aggiunto un pulsante, al cui click potrà essere eseguito un codice come il seguente:
protected void LoginButton_Click(object o, EventArgs e)
{
// prendiamo il provider selezionato nella DropDownList
MembershipProvider domainProvider = Membership.Providers[DomainList.SelectedValue];
// controlliamo se l'utente è loggato e procedi all'autenticazione
if (domainProvider.ValidateUser(UserName.Text, Password.Text))
FormsAuthentication.RedirectFromLoginPage();
else
NotValidCredentials.Visible = true;
}Anche se è specifica per risolvere questo problema, in realtà questa tecnica può essere usata per tutti quei casi in cui sia necessario scegliere in maniera programmatica il provider da utilizzare.
Per approfondimenti si veda:
#827 - Configurare il provider per Active Directory di Membership API
http://www.aspitalia.com/script/827/Configurare-Provider-Active-Directory-Membership-API.aspx
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Per inserire un commento, devi registrarti alla nostra community.







Stampa
Snippet
Download 


