Pro poradek, vy resite jednak autentizaci (prihlaseni) a druhak
autorizace (opravneni). Obe si muzete zbastlit budto na koleni a nebo
pouzit stavajici knihovny, ktere jsou odladene.
Padlo tady uz hodne navrhu a pokud se opravdu chcete pustit do vlastniho
reseni, tak misto controlleru (v aplikace mate X kontroleru) by bylo
lepsi tyhle veci delegovat na front dispatcher (z hlediska MVC) a nebo
na servlet Filter.
Autentizace je jasna, pro kazdy request budete kontrolovat jestli je
dany uzivatel jiz zalogovany. Informaci o tom jestli je zalogovany
muzete mit na session a nebo ji muzete ulozit do klientskych cookies.
Autorizace je obdobna, pri prvnim zalogovani provedete zaroven nacteni
vsech roli, ktere ma uzivatel prirazene (je to mozne delat i s kazdym
requestem, odpadne tak nutnost drzet to na session). Pro kazdy request
budete kontrolovat jestli ma nektera z uzivatelovych roli pravo na dany
request.
Az cely tenhle bazmek sestavite dohromady a zjistite, ze jste tam
nasekal X chyb, tak se stejne vratite k necemu osvedcenemu napr. k
zminovanemu JAASu...
Martin Majer napsal(a):
Ahoj,
učím se JSP a snažím se proniknout do MVC architektury. Řeším naprosto
asi naprosto triviální problém, ale bohužel si s ním nevím rady.
Potřebuji vyrobit jednoduché přihlašování. Každý uživatel bude mít
nějaké role (např. admin nebo user), které budou specifikovat oprávnění
k různým částem webové aplikace. Toto ověřování řeším v kontroleru,
který mám naštěstí už hotový. Ale nevím, jak implementovat model.
Nenapadá mě žádný postup, o kterém bych byl přesvědčený, že je dobrý a
nebude bránit v dalším vývoji aplikace (která má být poměrně rozsáhlá).
Tak bych se rád zeptal odborníků na webové aplikace v Javě - jak mám
model navrhnout? Kam mám ukládat informace o přihlášení, kde mám
komunikovat s databází? Jak ho vytvořit, aby byl pružný a jednoduše se
dal rozšířit?
Předem díky za všechny odpovědi a rady.
Martin Majer
--
S pozdravem Roman "Dagi" Pichlik
/* http://www.sweb.cz/pichlik/ Blog pro kodery */
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________