Я пробовал эту конфигурацию, но она не работала для меня.
Базовая аутентификация в Glassfish
Я также попробовал это руководство
http://maksim.sorokin.dk/it/2010/10/13/basic-authentication-in-glassfish-3/ но я не смог получить и пароль пользователя, запрашивающий его.
Вот шаги, которые я предпринял:
1. Войдите как администратор в интерфейс администратора.
2. Зайдите в Безопасность-> Области-> Файл
3. Добавьте имя группы (Пользователи) в поле «Назначить группы».
4. Откройте управление пользователями вверху страницы.
5. Нажмите New, добавьте пользователя (testuser) и введите пароль.
6. Добавьте (Пользователи) в список групп.
7. поместите эти строки в web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Application</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>User</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>file</realm-name>
</login-config>
<security-role>
<role-name>User</role-name>
</security-role>
8. и поместите эти строки в sun-web.xml
<sun-web-app error-url="">
<security-role-mapping>
<role-name>User</role-name>
<group-name>Users</group-name>
</security-role-mapping>
</sun-web-app>
9. После того, как я все включил Конфигурации-> Настройка сервера-> Безопасность-> Менеджер безопасности
Моя конфигурация - Glassfish 3.1, sun java6 jdk, Debian lenny и простая страница «Hello World» для тестирования.
Чего здесь не хватает?
UPDATE:
Я понял, что для этого нужны заголовки xml. После того, как я добавил их, это начало работать. Моя окончательная конфигурация ниже:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Application</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Users</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>file</realm-name>
</login-config>
<security-role>
<role-name>Users</role-name>
</security-role>
</web-app>
и
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
<sun-web-app error-url="">
<security-role-mapping>
<role-name>Users</role-name>
<group-name>Users</group-name>
</security-role-mapping>
</sun-web-app>