[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