Newsgroup: it.comp.java
Titolo: [Aiuto] Container Managed Security di Tomcat 3.1

Ciao a tutti
Sto scrivendo una semplice servlet che per essere eseguita richede
preventivamente la digitazione di una userid/password.
Per non reinventare l'acqua calda sto provando a usare il "Container
Managed Security" di tomcat 3.1
La configurazione č la seguente:
windows 95
sdk 1.3.0
tomcat 3.1
Il sorgente della servlet č il seguente
-----------------------------------
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class frmCli extends HttpServlet {
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        String title = "Mo PProvo";
        out.println("<title>" + title + "</title>");
        out.println("</head>");
        out.println("<body bgcolor=\"white\">");
        out.println("<h3>" + title + "</h3>");
        out.println("<P>");
        out.print("<form action=\"");
        out.print("frmLista\"");
        out.println(" onSubmit='return eseguiRicerca()'");
        out.println("method=POST>");
        out.println("<input type=text size=20 name=codCliente>");
        out.println("<br>");
        out.println("<input type=submit>");
        out.println("</form>");
        out.println("</body>");
        out.println("</html>");
    }
    public void doPost(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        doGet(request, response);
    }
}
-----------------------------------
Una volta compilata ho messo il .class in
<tomcat>\webapps\Prova\Web-inf\classes
In  <tomcat>\webapps\Prova\Web-inf\ ho messo il seguente file web.xml
----------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "
http://java.sun.com/j2ee/dtds/web-app_2.2.dtd
">
<web-app>
 <servlet>
      <servlet-name>
    frmCli
       </servlet-name>
       <servlet-class>
     frmCli
       </servlet-class>
   </servlet>
   <servlet-mapping>
      <servlet-name>
         frmCli
        </servlet-name>
        <url-pattern>
           /frmCli
        </url-pattern>
    </servlet-mapping>
    <security-constraint>
      <web-resource-collection>
         <web-resource-name>Area Rapportino</web-resource-name>
  <!-- Define the context-relative URL(s) to be protected -->
         <url-pattern>/frmCli</url-pattern>
  <!-- If you list http methods, only those methods are protected -->
  <!-- <http-method>DELETE</http-method> -->
         <http-method>GET</http-method>
         <http-method>POST</http-method>
  <!-- <http-method>PUT</http-method> -->
      </web-resource-collection>
      <auth-constraint>
         <!-- Anyone with one of the listed roles may access this area
-->
         <role-name>tomcat</role-name>
    <role-name>role1</role-name>
      </auth-constraint>
    </security-constraint>
    <!-- Default login configuration uses BASIC authentication -->
    <login-config>
      <auth-method>BASIC</auth-method>
      <realm-name>Esempio</realm-name>
    </login-config>
</web-app>
----------------------------
Ho lanciato <tomcat>\bin\startup e mi sono collegato con Netscape a:
http://localhost:8080/Prova/frmCli
Ho digitato come userid/password "tomcat/tomcat" e anzichč partire la
mia servlet mi viene presentata una pagina
con la seguente intestazione : "Directory Listing for: /Prova/frmCli" e
con un link a " up to: /Prova
Le mie domande sono le seguenti:
- Qualcuno di voi ha usato il  "Container Managed Security"  di tomcat
3.1? Se si, come č stato configurato?
- Faccio bene ad usare questo  "Container Managed Security"  oppure devo
creare io un controllo per verificare l'autorizzazione
  ad usare una servlet?
- Se il  "Container Managed Security" non funziona, quale strada mi
consigliate per implementare una gestione delle autorizzazioni
  per l'esecuzione di una servlet?
Grazie tante a tutti e scusate se sono stato troppo prolisso.

Me lo rispondo da solo ..... caso mai interessa a qualcuno...
Ho installato Tomcat 3.2.3 e tutto funziona benissimo...
Un saluto a tutti