PDA

View Full Version : [Java] Autenticazione Tomcat BASIC


Unrue
13-08-2009, 18:31
Ciao a tutti,
sto cercando di implementare la BASIC authentication sotto Tomcat 5.5. Quello che vorrei fare però è avere 2 utenti,ilprimo che accede a tutta un'applicazione deployata, il secondo solo a delle sottodirectory di tale applicazione. Ho quindi creato nel tomcat-user.xml due utenti con due ruoli differenti:


<user username="utente1" password="pass1" roles="admin,manager,applicazione,subdir"/>
<user username="utente2" password="pass2" roles="subdir"/>



Successivamente, nel web.xml di tale applicazione ho inserito:

<security-role>
<!-- admins can add/remove/configure projects -->
<role-name>applicazione</role-name>
</security-role>

<security-role>
<!-- admins can add/remove/configure projects -->
<role-name>subdir</role-name>
</security-role>

<security-constraint>
<web-resource-collection>
<web-resource-name>Entire Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!-- This role is not in the default user directory -->
<role-name>applicazione</role-name>
</auth-constraint>
</security-constraint>

<security-constraint>
<web-resource-collection>
<web-resource-name>Application</web-resource-name>
<url-pattern>/applicazione/job/prova/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!-- This role is not in the default user directory -->
<role-name>applicazione</role-name>
<role-name>subdir</role-name>
</auth-constraint>
</security-constraint>



In pratica, vorrei che l'utente2 acceda solo alla subdirectory /applicazione/job/prova/* mediante inserimento di username e password. Così come ho fatto, utente 2 non riesce ad accedere alla subdirectory,utente1 accedeinvece ovunque.

E' possibile fare ciò? Cosa sbaglio? Grazie,