Glassfish: Как изменить область безопасности для WAR-приложения - PullRequest
2 голосов
/ 08 июля 2010

Я создаю JEE6-приложение, которое работает на Glassfish v3.0.1. Это веб-приложение с EJB-компонентами, развернутое как WAR (EJB 3.1).

В настоящее время я пытаюсь настроить вход в систему с использованием области безопасности на основе JDBC. Теперь я не знаю, как настроить мое WAR-приложение так, чтобы оно не использовало стандартную область безопасности Glassfish (файл), а вместо этого использовало мою недавно созданную область JDBC. Я знаю, как это сделать в EAR-приложении, там вы можете развернуть sun-application.xml вместе с приложением с таким содержимым:

<?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>

Но поскольку у меня есть веб-приложение, я не могу его использовать, по крайней мере, при развертывании приложения (появляется ошибка, поскольку мое приложение не настроено для развертывания EAR) Могу ли я объявить область безопасности по умолчанию в файле sun-web.xml? Я также не мог найти вариант в интерфейсе администратора Glassfish, или я пропустил его?

1 Ответ

4 голосов
/ 08 июля 2010

Только что обнаружил, что мне нужно добавить следующие строки в мой web.xml для изменения области:

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

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

Область по умолчанию также можно установить в меню администратора, прямо в разделе "Безопасность "(как я могу это контролировать ...)

...