Pergunta

Estou construindo um aplicativo JEE6 que roda em Glassfish v3.0.1.É uma aplicação web com EJBs, implantada como WAR (EJB 3.1).

Atualmente estou tentando configurar um login usando um domínio de segurança baseado em JDBC.Agora não sei como configurar meu aplicativo WAR para não usar o Glassfish Security Realm (arquivo) padrão e, em vez disso, usar meu domínio JDBC recém-criado.Eu sei como fazer isso em uma aplicação EAR, lá você pode implantar um sun-application.xml junto com a aplicação com um conteúdo 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>

Mas como tenho uma aplicação na web, não posso usá-lo, pelo menos não ao implantar o aplicativo (recebo um erro porque meu aplicativo não está configurado para implantação de ouvido), posso declarar o campo de segurança padrão dentro do sol -Web.xml?Também não consegui encontrar uma opção na interface de administração do Glassfish ou perdi?

Foi útil?

Solução

Acabei de descobrir que preciso adicionar as seguintes linhas ao meu web.xml para alterar o domínio:

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

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

O domínio padrão também pode ser definido no menu admin, diretamente na seção "Segurança" (como eu poderia supervisionar isso...)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top