Newsgroup: it.comp.java
Titolo: Jsp + tomcat-user.xml

Salve a tutti,
             ho una domandona banale :), in questi giorni mi sto
avvicinando al mondo jsp e stavo facendo delle prove con gli accessi/login
utilizzando jsp+tomcat.
Ho capito dove andare a mettere i vari utenti che si possono loggare al
mio "eventuale" sito ma, non mi è chiara una cosa, prendiamo per esempio
le righe di tomcat-user.xml
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="massi" password="massi" roles="admin,manager"/>
mi è chiaro che username e psw  devono coincidere con quelle inserite nel
form della pagina jsp ma, le roles???
dove vado a vedere cosa "significa" role1, admin, manager? 
che cosa possono fare? 
posso modificare i permessi?
nel senso che se io scrivo roles="massi" da qualche parte devo poi andare
a specificare i permessi che quell'utente ha? 
Sperando di essere stato sufficentemente chairo ringrazio in anticipo per
le vostre risposte.
Ciao a tutti
Massi
-------------------------------------------------------
Messaggio inviato da 
http://www.sandlab.org/newsgroup/
Accesso gratuito via web ai Newsgroup

 le vostre risposte.
In tomcat-user.xml, con l'attributo roles vai ad assegnare, a ciascun
profilo di *autenticazione* (username+password), i ruoli utilizzati per
definire le *autorizzazioni* di accesso alle risorse (intese in senso lato)
messe a disposizione dalle applicazioni.
E' poi nel file web.xml che definisci, in base al path delle risorse richieste,
quali ruoli deve "possedere" un utente affinche' esso possa accedervi.
Ad esempio:
[...]
   <!--=================== login config ====================-->
   <!-- Qui definisci le pagine utilizzate per il login utente -->
   <login-config>
     <auth-method>FORM</auth-method>
     <realm-name>Form-Based Authentication Area</realm-name>
     <form-login-config>
       <form-login-page>/login.jsp</form-login-page>
       <form-error-page>/login.jsp</form-error-page>
     </form-login-config>
    </login-config>
[...]
   <!--=================== roles ===========================-->
   <!-- Qui definisci quali ruoli di autorizzazione sono utilizzati -->
   <!-- dalla tua applicazione -->
   <security-role>
     <description>Utente Amministratore</description>
     <role-name>manager</role-name>
   </security-role>
   <security-role>
     <description>Utente aziende associate</description>
     <role-name>associato</role-name>
   </security-role>
[...]
   <!--=============== app security =========================-->
   <!-- Qui associ i path delle risorse dell'applicazione con -->
   <!-- i ruoli abilitati ad accedervi -->
    <security-constraint>
      <web-resource-collection>
        <web-resource-name>funzioni_associato</web-resource-name>
        <url-pattern>/associati/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
         <role-name>associato</role-name>
      </auth-constraint>
    </security-constraint>
[...]
    <security-constraint>
      <web-resource-collection>
        <web-resource-name>funzioni_amministratore</web-resource-name>
        <url-pattern>/admin/*</url-pattern>
        <url-pattern>/pagina1.jsp</url-pattern>
        <url-pattern>/xyz.jsp</url-pattern>
        <url-pattern>/a/b/c/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
         <role-name>manager</role-name>
      </auth-constraint>
    </security-constraint>
[...]
Attenzione a lasciare fuori dai path sotto controllo di sicurezza le pagine
utilizzate per il login!
Per informazioni piu' dettagliate, puoi consultare i documenti di specifica
delle servlet (sul sito della Sun)
Ciao!
Roberto