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

Odpovedet emailem