Zdravim, pisu webovou aplikaci se SpringFrameworkem a narazil jsem na problem s autentizaci uzivatelu. Mam login form a prislusny controller, ktery po uspesne autentizaci ulozi nejaky objekt do session. Jenze pak chci v nekterych jinych controllerech (zejmena ruznych FormController) zjistit jestli ten objekt v session je nebo ne, jestli je platny, atd. Jenze nevim jak na to.
Pred muj Controller (subclass SimpleFormControlleru) sice muzu vrazit HandlerInterceptor.preHandle() ktery session a uzivatele dokaze validovat. Ale pak muzu vratit jen true/false, kdezto ja bych potreboval vratit View s vyzvou k zalogovani, coz nejde. Nejdriv me napadlo pres treti parametr preHandle(), coz je "Object handler" tomu handleru (i.e. Controlleru) zmenit formView, ale to se mi taky zda ponekud nepohodlny, nehlede na to, ze AFAIK ten handler je singleton, takze bych to zmenil pro vsechny budouci requesty, coz neni uplne "vono". (nebo se pletu?) Samozrejme bych i mohl znasilnit nekterou z metod FormControlleru a tuto funkcnost tam nasroubovat, ale to se mi uz vubec nechce. I kdyz treba isFormSubmission() se vola presne v miste kde by se podobne zneuzit dala ;-) Taky jsem narazil na tridu UserRoleAuthorizationInterceptor, jejiz jmeno zni celkem slibne, ale nejak netusim jak se pouziva. Navic to vypada ze tenhle interceptor se tyka HTTP autentizace, zatimco ja potrebuju login pres HTML <form>. Nemate nekdo tip jak tuhle zalezitost elegantne vyresit? Diky! Goo
