Pregunta

Estoy construyendo una aplicación JEE6 que se ejecuta en GlassFish v3.0.1.Es una aplicación web con EJBS, desplegada como una guerra (EJB 3.1).

Actualmente estoy tratando de configurar un inicio de sesión usando un reino de seguridad basado en JDBC. Ahora no sé cómo configurar mi aplicación de guerra para no usar el reino de seguridad de GlassFish predeterminado (archivo) y, en su lugar, usar mi JDBC-Realm recién creado. Sé cómo hacerlo en una aplicación para el oído, allí puede implementar un Sun-Application.xml junto con la aplicación con un contenido como este:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-application PUBLIC '-//Sun Microsystems, Inc.//DTD 
Application Server 9.0 Java EE Application 5.0//EN' 
'http://www.sun.com/software/appserver/dtds/sun-application_5_0-0.dtd'>
<sun-application>
   <realm>jdbc</realm>
</sun-application>

Pero como tengo una aplicación web, no puedo usarlo, al menos no al implementar la aplicación (recibo un error porque mi aplicación no está configurada para la implementación del oído) ¿Puedo declarar el reino de seguridad predeterminado dentro del Sun-Web.xml?Tampoco pude encontrar una opción dentro de la interfaz de glassfish-admin, ¿o la extraño?

¿Fue útil?

Solución

Acabo de descubrir que tengo que agregar las siguientes líneas a mi web.xml para cambiar el reino:

<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>jdbc</realm-name>
</login-config>

<security-role>
  <description />
  <role-name>STUDENT</role-name>
</security-role>

El reino predeterminado también se puede configurar en el menú de administración, directamente en la sección "Seguridad" (¿cómo podría supervisar eso ...)

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