IIS7 Custom Basic Authentication
Már régóta kerülgetem a Codeplex-en ezt a projektet, soha nem jutottam el addig, hogy kipróbáljam. Az a baj az IIS Basic Authentication-nel, hogy nem tudunk vele virtuális felhasználókat kezelni, csak igen komplikált módon. Akkor is csak úgy, hogy az IIS configjában tárolódnak a felhasználók adatai. A célom az volt, hogy egy külső MySQL adatbázisba valamilyen okos formában tárolódjanak az IIS virtuális felhasználói és azokat az összes IIS-es szolgáltatásból (Védett könyvtárak, FTP, WebDav, stb..) elérjem, autentikálhatóak legyenek. Pontosan erre jó a Custom Basic Authentication nevű kis projekt. Pontosabban arra, hogy egy .Net Membership Providert elérhetővé tegyen Basic Authentication formában.
Telepítése nem túl bonyolult:
Töltsük le a http://www.codeplex.com/CustomBasicAuth weboldalról (az installert, ne a forrást).
Persze gondok lesznek, különben nem ínék róla ![]()
Az installer.cmd a gautil.exe-t használja, ami nagy marhaság a kedves fejlesztő részéről, hiszen a .Net Framework 2 óta ez a utility nincs benn a Frameworkben, csak az SDK-ban. Kiszolgálókra meg ugyebár mióta divat SDK-t pakolni :S Az MS hivatalos álláspontja egyébként az, hogy a GACUTIL egy fejlesztői eszköz, ezért is vette ki a Frameworkből.
Itt kicsit tétováztam, mert nem igazán tudtam, mire jó egyáltalán ez a kis programocska. Aztán kiderült, hogy igazából nincs rá szükség. Fogjuk a 3db dll fájlt és másoljuk a C:/Windows/assembly könyvtárba, így bekerülnek a GAC-ba. Majd az installer kikommentelt utolsó két parancsát futtassuk le parancssorból a fájlok mappájában:
iisschema.exe /install CustomBasicAuthentication_schema.xml
IisRegMgmt CustomBasicAuth LeastPrivilege.CustomBasicAuthentication.Management.CustomBasicAuthenticationModuleProvider LeastPrivilege.CustomBasicAuthentication.Management.dll
Voila, készen is vagyunk, az IISManager-ben a Site-unk Authentication panelján már ott kell lennie a Custom Basic Authentication opciónak is. Az Edit-re kattintva konfigurálhatjuk, hogy melyik providert használja. Tiltsuk le az összes többi Authentication módot és próbáljuk ki a böngészőből. Ha feldobja az autentikációs ablakot, akkor nyertünk. A sikeres bejelentkezéshez persze kell a működő provider is.
Ha esetleg nem működne a cucc, és még nincs a helyén, akkor az IIS Managerben a Modules panelon adjuk hozzá az installált modulokhoz a CustomBasicAuthentication-t is a legördülő listából.
