Comment mettre en œuvre l'authentification de base avec Glassfish?

Je viens d'essayer cette configuration, mais il ne fonctionne pas pour moi.
L'Authentification de base dans Glassfish
J'ai aussi essayé ce guide
http://maksim.sorokin.dk/it/2010/10/13/basic-authentication-in-glassfish-3/ mais je n'arrivais pas à l'utilisateur de passer à demander de trop.

Ce sont les étapes que j'ai prises:

1. Identifiez-vous comme administrateur à l'interface d'administration.

2. Aller à la Sécurité->Royaumes->Fichier

3. Ajouter un nom de groupe (Utilisateurs) pour Attribuer des Groupes de champ.

4. Ouvrez gérer les utilisateurs en haut de la page.

5. Cliquez sur Nouveau, puis ajouter un utilisateur (testuser) et de donner un mot de passe.

6. Ajouter (Utilisateurs) à la Liste du Groupe.

7. mettre cette ligne à 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. et de mettre ces lignes de 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. Après tout, j'ai activé les Configurations->server-config->Sécurité>Gestionnaire de Sécurité

Ma configuration est Glassfish 3.1, soleil java6 jdk, Debian lenny et un simple "Hello World" à la page pour les tests.

Ce qui manque ici?

Mise à JOUR:

J'ai compris il a besoin de xml en-têtes. Après que j'ai ajouté, il a commencé à travailler. Ma configuration finale est ci-dessous:

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

et

<?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>
  • Étape 9-elle vraiment nécessaire? J'utilise également le fichier jdbc et les royaumes, mais jamais activé le Gestionnaire de Sécurité. Juste une idée... Vos fichiers de configuration, l'air très bien. Vous pouvez configurer la journalisation de javax.de l'entreprise.système.de base.module de sécurité dans Glassfish de plus beau et de vérifier votre fichier de log de tous conseils.
  • Il ne fonctionne pas sans l'étape de neuf. J'ai compris qu'il a besoin de xml en-têtes.
  • Je me demande exactement la même chose que @Matt à portée de main. Tout d'Oracle tutoriel n'est pas de dire à lui permettre de. Dans la dernière Netbeans si j'active le Gestionnaire de Sécurité, je ne peux pas utiliser Netbeans intégré Glassfish plus, il ne démarre plus.
  • J'ai Glassfish 4.0 et Netbeans 7.3.1 et "sun-web.xml il n'est pas nécessaire. J'ai supprimé le fichier après sa création par vos étapes. Je n'ai, cependant, avoir à modifier "glassfish-web.xml" et d'ajouter des lignes comme ceci: <security-role-mapping> <role-name>Utilisateurs</role-name> <principal-name>testuser</principal-name> </security-role-mapping> Voir docs.oracle.com/javaee/6/tutorial/doc/bnbxj.html
InformationsquelleAutor wolfiem | 2011-05-06