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



Odpovedet emailem