Configuración Tomcat

Hola. Primero, encantado de conocerte, espero que me puedas ayudar. Y muchas gracias de antemano.
Acabo de instalar, bajo Red Hat, un apache web server y un Tomcat 3.2.1.
Mis problemas vienen a la hora de configurar el tomcat:
Sobre todo tengo problemas para restringir el acceso a aplicaciones. Puedo restringir el acceso, configurando el Tomcat, ¿a unos servlets determinados? ¿Cómo tengo que hacerlo?
Yo lo he intentado editando a mano el fichero web.xml del directorio WEB-INF de la aplicación, pero después de hacer esto, la aplicación no me funciona.
De todas maneras, sabes de algún sitio donde pueda encontrar información, no demasiado básica, ¿sobre cómo configurar el Tomcat?.
Saludos, y gracias de nuevo.
Nacho.

1 respuesta

Respuesta
1
Si puedes restringir el acceso a usuarios dando permisos a la hora de registrar un servlet, pero esto es "algo falso" ya que todos lo usuarios que utilicen ese servlet normalmente serán anonymous, yo te aconsejo solamente hacer una clase tipo "Proxy" y en esta clase poner las condiciones de acceso que desees. Esta clase es la única que esta registrada en el tomcat y recibe como parámetros donde están los paquetes (de esta forma no puedes llamar a ninguna clase de tu ordenador si pasar por esta clase Proxy). De esta forma siempre ke llames por ejemplo a http://127.0.0.1/admin/Clase
Esto siempre que pongas la ruta /admin/ llama al servlet Proxy y este recoge la "Clase" y hace una referencia de ella. Yo es la mejor que he encontrado a nivel de cualquier servidor web.
La clase es algo así:
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.lang.Object.*;
import java.lang.*;
public class Proxy extends HttpServlet {
private String PREFIX="";
private String PACKAGE="";
public void init()
{
PREFIX=getInitParameter("prefix");
PACKAGE=getInitParameter("package");
}
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException
{
doGet(req,res);
}
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException
{
try{
String sURI=req.getRequestURI();
String sClassName=sURI.substring(sURI.indexOf(PREFIX) + PREFIX.length());
sClassName=PACKAGE + "." + sClassName.replace('/','.');
AdminClass clsAdmin=(AdminClass)Class.forName(sClassName).newInstance();
String sJsp=null;
try{
sJsp=clsAdmin.adminService(req,res);
}catch(Exception exc){
res.setContentType("text/html");
res.setStatus(res.SC_INTERNAL_SERVER_ERROR);
res.getWriter().println("<h1>Error 500: Error interno</h1>");
res.getWriter().println("<pre>");
exc.printStackTrace(res.getWriter());
res.getWriter().println("</pre>");
}
if (sJsp!=null)
{
getServletConfig().getServletContext().getRequestDispatcher(sJsp).forward(req,res);
}
}catch(Exception exc){
res.setContentType("text/html");
res.setStatus(res.SC_NOT_FOUND);
res.getWriter().println("<h1>Error 404: ss No encontrado</h1>");
}
}
}
Bueno espero que esto te ayude, si tienes dudas no dudes en preguntar.
Referente a la documentación ... yo también hecho de menos esa opción, aunque se que existe un libro de pertince hall en perfecto ingles sobre el tomcat.
De acuerdo. Gracias por la respuesta.
Pero, ¿no se puede restringir el acceso mediante el fichero web.xml? Si no lo he entendido mal, este fichero esta en el directorio WEB-INF de cada nueva aplicación creada, ¿no?
Gracias de nuevo.
Saludos.
Antes de nada, perdón por la tardanza pero a veces el trabajo no deja respirar ;-)
Bueno pues si, el fichero web.xml se guarda dentro de cada Aplicación creada con el tomcat, pero este fichero se utiliza para registrar los servlet y para definir los parámetros a los que accede, existe alguna cosilla más pero no tiene importancia. En este fichero no podemos definir que usuarios tienen acceso a un servlet, ya que este se ejecuta vía web y TODOS los usuarios que acceden a dicho servlet son anónimos.
Lo aconsejable es pedir un login y password de acceso a la página web y tratarlos siempre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas