[Java lista] JAAS (vagy mi?)

Verhs Pter peter at verhas.com
2008. Nov. 20., Cs, 13:13:31 CET


A servlet filter egy olyan osztály, amelyik minden egyes http hívásnál 
megkapja a vezérlést, csinál amit tennie kell, majd megy tovább a futás. 
(A 'minden egyes' nem a világ összes http hívására vonatkozik persze.)

Egy ilyen filterben meg lehet nézni, hogy a kliens lett-e azonosítva 
(pl. a session erre kiválóan alkalmas) és ha nem akkor meg lehet kérni 
egy redirekttel, hogy ugyan már írja be a username-et meg a jelszavát. 
Amikor meg pont ez az http jön, akkor a filter rájön,hogy éppen most 
azonosítja magát, és jól leellenőrzi. Az ellenőrzéshez meg a tárol 
username-t meg jelszót veszi ahonnan akarja, pédául adatbázisból JDBC-n 
keresztül. Én éppen JCR-ből vettem az alkalmazásunkban.

De nagyon sok minden mást is meg lehet tenni filterben.

A JAAS esetében nem írsz filtert, hanem felkonfigurálod a szervert, hogy 
a konkrét alkalmazás esetében milyen authentikációs osztályokat kell 
meghívni a konténernek az authentikációhoz. Hogy ezek az osztályok 
milyenek (jó bonyolultak) azt elmondja a JAAS szabvány (meg a 
jaasbook.org könyv). Sokkal nagyobb meló, nehezebb utána telepíteni is, 
viszont sokkal rugalmasabban használható alkalmazásszerverek esetében. 
Könnyen cserélhető például SSO bejelentkezésre kész pluginokkal, míg a 
filter erre nincs felkészülve (ezért is bonyolultabb a JAAS, mert erősen 
általános).

Péter

Ámon Tamás wrote:
> Verhás Péter írta:
>   
>> A válasz: igen.
>>
>> Javaslom a
>>
>> http://www.jaasbook.com/
>>
>> oldalon található ingyen letölthető könyvet, amiben ugyan maradtak némi 
>> hibák, és lehet, hogy nem véletlenül nem adták ki (minőség, didaktika) 
>> de még mindig könnyebb volt belőle megérteni az authentikációt, mint 
>> csak a szabványból.
>>
>> Le is implementáltuk, majd elraktuk a projektet 4 hónapra, és amikor 
>> három napba telt egy új installra bekonfigurálni az elfelejtett JAAS 
>> authentikációt, akkor három óra alatt kicseréltem egy servlet filterre.
>>
>>
>>     
>
> Nekem most kezd összeborulni az egész dolog. Én annyit szeretnék, hogy 
> az alkalmazás elején belép a user, én pedig (vagyis a program) ez 
> alapján jeleníti meg a menüket stb. Ezenkívűl bizonyos adatbázis 
> műveleteknél meg akarom adni, hogy ki is csinálta és ezt az autentikáció 
> alapján csinálnám. Ahogy a php-ból kinőtt fejemmel elképzelem: csinálok 
> egy users táblát ebben tárolom az id-t, username-et, és a jelszót és 
> belépéskor ezeket ellenörzöm, majd beteszem egy session-be (Vagyis a 
> SessionBean1-be gondolom).
>
> Szeretném ezt az egész project-et java-ban megvalósítani, mert szeretném 
> megtanulni ezt az egészet.
>
> Mi ez a servlet filter?
>
>   
--------- kvetkez rsz ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20081120/677011fa/attachment.html 


Tovbbi informcik a(z) Javalist levelezlistrl