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 ______________________________________________________________________

Odpovedet emailem