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
