takze nejelegantnejsie riesenie, ktore ako vidim pouzivaju aj ini je naozaj @Inject (v JSF @ManagedProperty u ManagedBean-ov) beany, do ktorej sa po prihlaseni ulozi uzivatel. diky.
k druhej otazke, standardnou autentifikaciou kontajnera to riesit nejde, musi mat aplikacia vlastne prihlasovanie po dlhom hladani, za pomoci klucovych slov aj z vasich rad: Segment-based authorization is authorization based on a user's other attributes, such as age or hobbies. Segment-based authorization is called such because it groups users into segments based on specific attributes. J2EE has no method of implementing segment-based authorization. http://www.javaworld.com/javaworld/jw-07-2004/jw-0726-security.html?page=3 2012/2/15 Lumír Návrat <[email protected]>: > Dobry den, > > dalsi principielni moznost je pouzit PhaseListener na urovni JSF Lifecyclu > ve fazi RESTORE_VIEW a implementovat dle svych pozadavku metodu afterPhase. > Pouzivam to pro standardni prihlaseni do aplikace a do CDI Beany (JSF > Managed nepouzivam) si ulozim uzivatele, ktery je prihlaseny. > > Potom pokud potrebuji prostoupit k prihlasenemu uzivateli v nejake CDI > Beane, tak pres @Inject si ji tam vlozim. Analogicky by to slo pokud se > nepletu pres ManagedProperty u klasickych ManagedBean. > > Ve view pak maji JSF komponenty atribut rendered, kde opet muzete pres vyraz > vyhodnotit kdy zobrazit a kdy ne. > ------------- > Dalsi reseni je zminena container security tj. userInRole() jak je popsane > vyse, nicmene tu jsem zatim nikdy nenakonfiguroval, jelikoz mi to prislo > casto, ze budu potrebovat vlastni JAAS provider. A nebo jsem to spatne > pochopil. > ------------ > Pripadne jsem videl nekde postup, jak naroubovat Spring Security na JSF. V > podstate jde o prvni variantu ale jiz nekym napsanou a sofistikovanejsi. > Zkousel jsem, ale pak jsem uviznul v pekle jaru a verzi a nakonec pouzil > prvni variantu s Listenerem, ktera se mi nejvice podobala mym vzorovym > resenim pro studenty ze Struts 1 ci 2. > > Lumi(r) > > > Ivan 596 wrote: >> >> Zdravim, >> >> chcem sa opytat na kontrolu pristupu v JSF 2, ale ani nie tak >> "komponent" (je v podstate jedno ci sa uzivatel dostane k nejakej >> stranke), ako skor kontrolu v kazdej action metode, ktora uklada / >> vracia vysledky. >> alebo sa nato pozeram spatne a skor sa kontroluje pristup ku komponentam ? >> >> Na vysvetlenie: v Strutse ak boli tri urovne (uzivatel, zamestnanec, >> admin) nastavilo sa pri prihlaseni session atribut a kazda napr. >> zamestnanecka akcia (strutsovske execute metody) obsahovala >> >> String zamId = (String)request.getSession().getAttribute("zamId"); >> if (zamId==null || zamId.length()<1) { >> return mapping.findForward("neopravnenyPristup"); >> } >> >> V JSF 2 ale vyvolat session vyzaduje pomerne skaredy kod s >> ExternalContext-om, >> je riesenim @ManagedProperty, cize injekcia nejakeho session beanu do >> kazdeho beanu kde su metody spracovavajuce akciu? >> >> Alebo sa nato pozeram principialne spatne a inak sa kontroluje pristup >> v JSF 2 vo velkych aplikaciach? >> >> este poznamenavam, ze bez EJB, ak vsetci pouzivate JSF prevazne s EJB, >> tak by ma zaujimalo nakolko sa JSF vyuziva samostatne a ci je to skor >> rarita... >> >> diky moc, >> >> ivan
