TypeMismatch


Ora e Data
Sondaggio
Che sistema operativo utilizzate per lo sviluppo?

Windows 2008 Server
Windows 2003 Server
Windows XP Professional
Windows 2000

Interrogare Active Directory da Asp.net

Da un paio di progetti a questa parte, mi è capitato di dover implementare l'autenticazione di Active Directory all'interno delle mie applicazioni.
I vantaggi che vengono portati da questa integrazione sono molti, ma forse quello più pratico e trasparente per gli utenti è quello di non avere più password da ricordarsi.
Infatti con tale implementazione gli utenti utilizzeranno lo stesso username e la stessa password che utilizzano per accedere al proprio computer.

Per prima cosa bisogna aggiungere il namespace System.DirectoryServices

using System.DirectoryServices;

Adesso, creiamo la pagina di login disegnando due caselle di testo(TxtUsername, TxtPassword) e un pulsante.
Nell'evento click di quest'ultimo andiamo a mettere il seguente codice:

string path = LDAP://serverLDAP/O=GruppoLDap;
string localUsername = "uid=" + UserName.Text + ",ou=" + directory + ",o=DirectoryLDap";
string localPassword = Password.Text;

DirectoryEntry de = new DirectoryEntry(path);
de.AuthenticationType =
AuthenticationTypes.ServerBind;
de.Username = localUsername;
de.Password = localPassword;

DirectorySearcher search = new DirectorySearcher(de);

search.PropertiesToLoad.Add("cn");
search.Filter =
"(uid=" + UserName.Text + ")"; ;
search.CacheResults =
true;
search.SizeLimit = 1000;

SearchResultCollection results = search.FindAll();

if(results.Count == 0)
{
FailureText.Text =
"Autenticazione fallita<br> Utente o Password errati.";
search.Dispose();
return;
}
else
{
search.Dispose();
Response.Redirect(
"Default.aspx");
}

Una proprietà molto importante e su cui vale la pena soffermarsi un attimo è AuthenticationType.
Può assumere molti valori (che possiamo trovare enumerati qui http://msdn2.microsoft.com/en-us/library/system.directoryservices.authenticationtypes.aspx ) e per sapere il valore da utilizzare è bene contattare l'amministratore di rete.
Di solito se Active Directory è configurata con il modello di default, le ricerche possono essere effettuate con autenticazione Anonymous.
Categoria: Active Directory
venerdì, 18 mag 2007 Ore. 15.04
Calendario
aprile 2024
lmmgvsd
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Statistiche
  • Views Home Page: 20.392
  • Views Posts: 22.432
  • Views Gallerie: 2.555
  • n° Posts: 18
  • n° Commenti: 0
Archivio Posts
Anno 2009

Anno 2007
Mappa
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003