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.
Approfondimenti
#827 - Configurare il provider per Active Directory di Membership API
https://www.aspitalia.com/script/827/Configurare-Provider-Active-Directory-Membership-API.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Short-circuiting della Pipeline in ASP.NET Core
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Load test di ASP.NET Core con k6
Implementare il throttling in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Migrare una service connection a workload identity federation in Azure DevOps
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
I più letti di oggi
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Annunciato Silverlight 4 RC e Windows Phone Developer Tools
- Speciale Razor: il nuovo view engine di WebMatrix e ASP.NET MVC
- Speciale Windows Store app: costruire app con WinRT per Windows 8
- Gestire lo stato all'interno di un class component di ReactJS
- Inserimenti bulk su database con la classe SqlBulkCopy di ADO.NET 2.0
- disponibile su MSDN la versione RTM di #VS2013 Update 2! https://aspit.co/auj #msTechEd