Ano. Filtry se konfiguruji podle URL, pouzivaji se i wildcards.
Doporucuju se podivat na priklady napr. tady
http://archive.moreservlets.com/Chapter9.html
Martin Majer napsal(a):
A jde filtr nastavit tak, aby filtroval jen požadavky na
JSP stránky a požadavky na kontroler nechal beze změny projít?
2006/4/14, Tomas Hubalek <
[EMAIL PROTECTED]>:
Ano. Ano nebot JSP stranka je take Servlet.
Tom
Martin Majer napsal(a):
Jdou
filtry servletů nastavit přímo v WEB-INF/web.xml?
Předpokládám, že se budou pouštět i při požadavcích na JSP stránky, je
to tak?
2006/4/14, Tomas Hubalek <
[EMAIL PROTECTED]>:
Pak
navrhuju pouzit vlastni javax.servlet.Filter napr. (http://www.javaworld.com/javaworld/jw-06-2001/jw-0622-filters.html
),
nebo to jiz zminene Acegi (ktere ale neni trivialni pro zacatecnika).
Tom
Martin Majer napsal(a):
Nemám
přístup ke konfiguraci Tomcatu. Jediné, co s ním
můžu dělat, je nahrát na něj .war soubor s webovou aplikací. Takže
tento postup asi nepřipadá v úvahu...
2006/4/14, URBAN Leos < [EMAIL PROTECTED]>:
Martin
Majer napsal(a):
> Jakým způsobem mám tedy omezit přístup k JSP stránkám? Jaké jsou
možnosti?
SNADNO A RYCHLE :-)
Nastavte si autentifikaci pres webovy container. U tomcatu ve
standardnim nastavenim je to soubor conf/tomcat-
users.xml.
Je tam seznam uzivatelu a roli a vazba mezi nimi.
Zalozte si tam:
<role rolename="reditele"/>
<role rolename="skladnici"/>
<user username="jarda" password="aa" roles="reditele,skladnici"/>
<user username="pepa" password="aa" roles="skladnici"/>
Bacha na syntaxi a restartujte tomcat.
Webovou aplikaci a konretne obsah chranite pomoci nastaveni ve web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>Restricted area</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>reditele</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Log Area</realm-name>
</login-config>
V Url pattern muzete omezit co vlastne chcete chranit, zde chranite
celou aplikaci. Bez prihlaseni k uzivateli patricimu do role "reditele"
se nikam nedostanete a skoncite s chybou pristupu. Muzete stejnym
postupem urcit i sadu JSP ktere se chrani pod urcitou roli atd.
No a pokud chcete jemnejsi cleneni kdy pristup k JSP ma 20 roli ale jen
nektere casti smi provadet nektere role, pak request v JSP
(HttpServletRequest) ma nasledujici metodu:
boolean isUserInRole(String role)
Nakonec si muzete pohrat s tim dat ty uzivatele do databaze (Mysql,
Postgresql...) a tomcatu naridit, aby misto toho XML souboru pouzival
databazi.
A pak si napisete aplikaci ktera bude menit data v te databazi atd.
A tak dale.
Takhle bych to videl ja.
Leos
|