Foros del Web » Administración de Sistemas » Software para Servers »

Tomcat

Estas en el tema de Tomcat en el foro de Software para Servers en Foros del Web. Hola necesito alguien que haya usado alguna vez la autenticacion de usuarios usando los FILE-BASED REALMS de tomcat. Mi problema es que he seguido todos ...
  #1 (permalink)  
Antiguo 22/11/2005, 10:29
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años, 7 meses
Puntos: 0
Tomcat

Hola necesito alguien que haya usado alguna vez la autenticacion de usuarios usando los FILE-BASED REALMS de tomcat. Mi problema es que he seguido todos los pasos de configuracion y cuando meto el usuario y la contraséña no lo reconoce, no me deja acceder a los recursos protegidos. Lo que he hecho es:

PRIMERO HE CONFIGURADO EL SERVER.XML DE MI TOMCAT QUE ES LA VERSIÓN 5.0.30 HE PUESTO:

<Realm className="org.apache.catalina.realm.MemoryRealm"/>

LO SIGUIENTE HE CONFIGURADO EL WEB.XML DE MI APLICAICION ASÍ:

<!--Describe a DataSource-->
<resource-ref>
<res-ref-name>jdbc/Servauto</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


<!--ESTO LO HAGO PARA LA AUTENTIFICACION Y AUTORIZACION DE UN USUARIO -->

<!--Define a Security Constraint on this application-->
<security-constraint>
<web-resource-collection>
<web-resource-name>SERVAUTO PROFESOR</web-resource-name>
<url-pattern>/jst/PROFESOR/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>administrador</role-name>
</auth-constraint>
</security-constraint>

<!--Define the Login configuration for this Application-->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>SERVAUTO PROFESOR</realm-name>
</login-config>

<!--Security roles referenced by this Web application-->
<security-role>
<description>Es el rol requerido para acceder a la parte del profesor de la aplicación</description>
<role-name>administrador</role-name>
</security-role>

LO QUE TENGO EN EL TOMCAT-USERS.XML DEL TOMCAT

<tomcat-users>
<role rolename="administrador"/>
<user username="profesor" password="profesor" roles="administrador"/>
</tomcat-users>


A VER SI ALGUIEN PUEDE AYUDARME GRACIAS!
  #2 (permalink)  
Antiguo 24/11/2005, 04:17
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años, 7 meses
Puntos: 0
Alguien Sabe Por Que Puede Ser? Es Muy Importante
  #3 (permalink)  
Antiguo 24/11/2005, 07:07
Avatar de alexjcr  
Fecha de Ingreso: abril-2005
Mensajes: 224
Antigüedad: 19 años, 7 meses
Puntos: 0
Busqueda

A ver si te entedi lo que quieres hacer es autenticar usando una base de datos si es eso te paso esta configuracion para que mires como tienes que poner en el conf.xml

Cita:
<?xml version='1.0' encoding='utf-8'?>
<Server>
<Listener className="org.apache.catalina.mbeans.ServerLifecy cleListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResour cesLifecycleListener"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
<Resource name="UsersDB" type="javax.sql.DataSource"/> <!--El objeto JNDI que usaras para conectarte con la base de datos-->
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabas eFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
<!--Parametros del objeto JNDI-->
</ResourceParams>
<ResourceParams name="UsersDB">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>username</name> <!--Usuario de la Base de Datos-->
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>DataBasePassword</value> <!--Password de la Base de Datos-->
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/usersdb</value> <!--URL de Fuente de Datos-->
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value> <!--Clase de Manejador JDBC-->
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>

</GlobalNamingResources>
<Service name="Catalina">
<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25">
</Connector>
<Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkC oyoteHandler" redirectPort="8443">
</Connector>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="localhost">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
</Host>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
<Realm className = "org.apache.catalina.realm.UserDatabaseRealm"/> <!--Defines la forma en que usara para autenticar-->
</Engine>
</Service>
</Server>
En este caso se conecta con la base de datos userdb utilizando una base de datos MySQL usando el conector JDBC

Cita:
mysql> show tables;
+-------------------+
| Tables_in_usersdb |
+-------------------+
| user_roles |
| users |
+-------------------+

mysql> desc user_roles;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| user_name | varchar(15) | | PRI | | |
| role_name | varchar(15) | | PRI | | |
+-----------+-------------+------+-----+---------+-------+

mysql> desc users;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| user_name | varchar(15) | | PRI | | |
| user_pass | varchar(15) | | | | |
+-----------+-------------+------+-----+---------+-------+
__________________
:-D Linux registered user #395948
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:59.