Diferencia entre revisiones de «Memory Realm En Tomcat»
(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. | + | 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 | |
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 | |
Buscaremos allí la siguiente linea y la dejaremos descomentada: | Buscaremos allí la siguiente linea y la dejaremos descomentada: | ||
− | <Realm className="org.apache.catalina.realm. | + | <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== | |
* [[JAAS]] | * [[JAAS]] | ||
− | |||
− | |||
* [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
Contenido
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.