Pregunta

estoy completamente nueva a los conceptos de acceso y autenticación. Estoy trabajando en una aplicación web Glassfish que debe presentar el contenido general a cualquier visitante, y algunos contenidos extra para los usuarios registrados cerrar sesión con nombre de usuario y contraseña.

He estado leyendo el tutorial de Java EE por la seguridad, y pensé que el Formulario o basado en la autenticación HTTP que cumplir con mis necesidades (el visitante se le pide las credenciales cuando se trata de buscar un contenido garantizado).

Sin embargo, mi primera suposición fue que los usuarios registradas deben ser almacenados en una base de datos externa, junto con su hash y la contraseña con sal. La seguridad para aplicaciones web en Glassfish parece basarse en el reino poblada de forma manual directamente en el servidor de aplicaciones (definición y grupos de usuarios y asignándolos a los roles en la aplicación).

¿He entendido mal lo que la seguridad en GlassFish esta destinada a? O puede ser un reino de una base de datos externa fuera del servidor de aplicaciones? Cualquier enlace a la documentación sobre este tema sería útil para mí.

Gracias de antemano

Tart

¿Fue útil?

Solución

Es realmente posible. En Glassfish, vaya a Configuración / Seguridad / Reinos, crear un nuevo reino y establecer el nombre de la clase a com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm. Indique el recurso JDBC une a la base de datos, e indicar la tabla y las columnas en las que se almacenan nombre de usuario / contraseña. La base de datos también contiene una tabla para los grupos que deben pertenecer al usuario que se conceda el acceso. Indicar los también.

En la aplicación, configurar el web.xml y sun-web.xml con el nombre de territorio como de costumbre.

Otros consejos

Aquí está un artículo sobre JDBC reino en glassfish con el escenario que usted describe: http://java-cookbook.blogspot.com/2011/02/jdbc-security-realm-with-glassfish-and.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top