Diferencia entre revisiones de «Memory Realm En Tomcat»

De Dos Ideas.
Saltar a: navegación, buscar
(Página nueva: Tomcat provee varios Security Realm ya creados y listos para usar. Uno puede implementar su propio realm implementando la interfaz ''org.apache.catalina.Realm'' ===Memory Rea...)
 
Línea 2: Línea 2:
  
 
===Memory Realm===
 
===Memory Realm===
El Memory Real, implementado por la clase ''org.apache.cataline.realm.!MemoryRealm'', permite utilizar un archivo XML muy simple como origen de datos. Un Memory Real es útil para desarrollo o proyectos muy simples.
+
El Memory Real, implementado por la clase ''org.apache.cataline.realm.MemoryRealm'', permite utilizar un archivo XML muy simple como origen de datos. Un Memory Real es útil para desarrollo o proyectos muy simples.
  
 
==Configuración==
 
==Configuración==
Línea 13: Línea 13:
  
 
El formato del archivo es muy simple; a continuación un ejemplo:
 
El formato del archivo es muy simple; a continuación un ejemplo:
 
+
<code xml>
 
  <tomcat-users>
 
  <tomcat-users>
 
     <user name="zim" password="where-is-gir" roles="administrador" />
 
     <user name="zim" password="where-is-gir" roles="administrador" />
 
     <user name="dosideas" password="dosideaspwd" roles="usuario, administrador" />
 
     <user name="dosideas" password="dosideaspwd" roles="usuario, administrador" />
 
  </tomcat-users>
 
  </tomcat-users>
 +
</code>
  
 
=Activar el Memory Realm=
 
=Activar el Memory Realm=
Línea 25: Línea 26:
 
Buscaremos allí la siguiente linea y la dejaremos descomentada:
 
Buscaremos allí la siguiente linea y la dejaremos descomentada:
  
  <Realm className="org.apache.catalina.realm.!MemoryRealm" />
+
  <Realm className="org.apache.catalina.realm.MemoryRealm" />
  
 
Listo! Tomcat ahora utilizará el Memory Real como dominio de usuarios; los usuarios será los configurados en el archivo tomcat-users.xml
 
Listo! Tomcat ahora utilizará el Memory Real como dominio de usuarios; los usuarios será los configurados en el archivo tomcat-users.xml
Línea 33: Línea 34:
 
Sobre el final del archivo, se agregan los Security Constraints y el formulario de login que usaremos.
 
Sobre el final del archivo, se agregan los Security Constraints y el formulario de login que usaremos.
  
 +
<code xml>
 
  <security-constraint>
 
  <security-constraint>
 
     <web-resource-collection>
 
     <web-resource-collection>
Línea 47: Línea 49:
 
     <realm-name>Dos Ideas</realm-name>
 
     <realm-name>Dos Ideas</realm-name>
 
  </login-config>
 
  </login-config>
 +
</code>
  
 
Reiniciar Tomcat, deployar la aplicación web, y listo! Cuando accedamos a cualquier página, debería aparecernos una ventanita para ingresar los datos de login.
 
Reiniciar Tomcat, deployar la aplicación web, y listo! Cuando accedamos a cualquier página, debería aparecernos una ventanita para ingresar los datos de login.
Línea 52: Línea 55:
 
Es interesante notar que cambiar el dominio de usuarios (por ejemplo, hacer que los mismos estén en una base de datos) no implica cambios en el código, sino un cambio en la configuración del Realm.
 
Es interesante notar que cambiar el dominio de usuarios (por ejemplo, hacer que los mismos estén en una base de datos) no implica cambios en el código, sino un cambio en la configuración del Realm.
  
===Ver también===
+
==Ver también==
 
* [[JAAS]]
 
* [[JAAS]]
 
===Más información===
 
 
* [http://www.onjava.com/pub/a/onjava/2001/07/24/tomcat.html Using Tomcat security realms]
 
* [http://www.onjava.com/pub/a/onjava/2001/07/24/tomcat.html Using Tomcat security realms]

Revisión del 19:20 17 ago 2008

Tomcat provee varios Security Realm ya creados y listos para usar. Uno puede implementar su propio realm implementando la interfaz org.apache.catalina.Realm

Memory Realm

El Memory Real, implementado por la clase org.apache.cataline.realm.MemoryRealm, permite utilizar un archivo XML muy simple como origen de datos. Un Memory Real es útil para desarrollo o proyectos muy simples.

Configuración

Realizaremos los pasos para segurizar una aplicación web, y configurar un Memory Realm en Tomcat.

Crear los usuarios

Para crear los usuarios, deberemos agregarlos al archivo "tomcat-users.xml", que por default se encuentra en

<tomcat_home>/conf/tomcat-users.xml

El formato del archivo es muy simple; a continuación un ejemplo:

<tomcat-users>
    <user name="zim" password="where-is-gir" roles="administrador" />
    <user name="dosideas" password="dosideaspwd" roles="usuario, administrador" />
</tomcat-users>

Activar el Memory Realm

A continuación le indicaremos a Tomcat que utilice el Memory Real como dominio de usuarios predeterminado. Esto se realiza editando el archivo:

<tomcat_home>/conf/server.xml

Buscaremos allí la siguiente linea y la dejaremos descomentada:

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

Listo! Tomcat ahora utilizará el Memory Real como dominio de usuarios; los usuarios será los configurados en el archivo tomcat-users.xml

Restringir la aplicación

Por último, deberemos tomar nuestra aplicación web y restringir recursos. Esto se hace a través del archivo web.xml Sobre el final del archivo, se agregan los Security Constraints y el formulario de login que usaremos.

<security-constraint>
   <web-resource-collection>
       <web-resource-name>Dos Ideas Restringido</web-resource-name>
       <url-pattern>/*</url-pattern>
   </web-resource-collection>
   <auth-constraint>
       <role-name>usuario</role-name>
   </auth-constraint>
</security-constraint>
<login-config>
   <auth-method>BASIC</auth-method>
   <realm-name>Dos Ideas</realm-name>
</login-config>

Reiniciar Tomcat, deployar la aplicación web, y listo! Cuando accedamos a cualquier página, debería aparecernos una ventanita para ingresar los datos de login.

Es interesante notar que cambiar el dominio de usuarios (por ejemplo, hacer que los mismos estén en una base de datos) no implica cambios en el código, sino un cambio en la configuración del Realm.

Ver también