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...)
 
 
(No se muestran 3 ediciones intermedias de otro usuario)
Línea 1: Línea 1:
 +
[[Category:JAAS]]
 
[[Tomcat]] provee varios [[Security Realm]] ya creados y listos para usar. Uno puede implementar su propio realm implementando la interfaz ''org.apache.catalina.Realm''
 
[[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===
 
===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 10: Línea 11:
 
Para crear los usuarios, deberemos agregarlos al archivo "tomcat-users.xml", que por default se encuentra en
 
Para crear los usuarios, deberemos agregarlos al archivo "tomcat-users.xml", que por default se encuentra en
  
  <tomcat_home>/conf/tomcat-users.xml
+
  TOMCAT_HOME/conf/tomcat-users.xml
  
 
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=
 
A continuación le indicaremos a Tomcat que utilice el Memory Real como dominio de usuarios predeterminado. Esto se realiza editando el archivo:
 
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
+
  TOMCAT_HOME/conf/server.xml
  
 
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 35:
 
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 50:
 
     <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 56:
 
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 actual del 15:49 26 ago 2009

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