Как реализовать базовую аутентификацию с помощью Glassfish? - PullRequest
3 голосов
/ 06 мая 2011

Я пробовал эту конфигурацию, но она не работала для меня. Базовая аутентификация в 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>

1 Ответ

0 голосов
/ 07 мая 2011

Вы можете попробовать это руководство: http://download.oracle.com/docs/cd/E19798-01/821-1750/beaxw/index.html Я слышал, что web.xml иногда не работает должным образом. У меня была такая же проблема, но я не могу проверить ее сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...