IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Glassfish et Payara Java Discussion :

Authentification LDAP avec Glassfish 3.1


Sujet :

Glassfish et Payara Java

  1. #1
    Membre actif
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut Authentification LDAP avec Glassfish 3.1
    Bonjour,

    J'essaye de mettre en place un système d'authentification via LDAP pour mes web services JAX-RS déployé sur Glassfish 3.1.

    Pour cela j'ai ajouter un nouveau Realm depuis l'interface d'administration du serveur :



    Ensuite j'ai configurer mes fichier web.xml et sun-web.xml comme suit.

    web.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <web-app>
    ...
            <description>JAX-RS Tools Generated - Do not modify</description>
            <servlet-name>JAX-RS Servlet</servlet-name>
            <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
            <init-param>
                <param-name>com.sun.jersey.spi.container.ResourceFilters</param-name>
                <param-value>com.sun.jersey.api.container.filter.RolesAllowedResourceFilterFactory</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>JAX-RS Servlet</servlet-name>
            <url-pattern>/resources/*</url-pattern>
        </servlet-mapping>
        <!-- which resources should be protected -->
        <security-constraint>
            <web-resource-collection>
                <web-resource-name>Secure</web-resource-name>
                <!-- be specific about the urls and methods here -->
                <url-pattern>/resources/ra/*</url-pattern>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
                <http-method>PUT</http-method>
                <http-method>DELETE</http-method>
            </web-resource-collection>
            <auth-constraint>
                <role-name>intervenant</role-name>
                <role-name>secretariat</role-name>
                <role-name>admin</role-name>
            </auth-constraint>
        </security-constraint>
        <!-- which realm to use for basic auth -->
        <login-config>
            <auth-method>BASIC</auth-method>
            <realm-name>ldapRealm</realm-name>
        </login-config>
        <security-role>
            <role-name>intervenant</role-name>
        </security-role>
        <security-role>
            <role-name>secretariat</role-name>
        </security-role>
        <security-role>
            <role-name>admin</role-name>
        </security-role>
    </web-app>
    sun-web.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <sun-web-app>
        <context-root>/IntranetWebService</context-root>
        <security-role-mapping>
            <role-name>intervenant</role-name>
            <group-name>intervenant</group-name>
        </security-role-mapping>
        <security-role-mapping>
            <role-name>secretariat</role-name>
            <group-name>secretariat</group-name>
        </security-role-mapping>
        <security-role-mapping>
            <role-name>admin</role-name>
            <group-name>admin</group-name>
        </security-role-mapping>
     
        <class-loader delegate="true" />
        <jsp-config>
            <property name="keepgenerated" value="true">
                <description>Keep a copy of the generated servlet class java code.</description>
            </property>
        </jsp-config>
     
    </sun-web-app>
    Pour définir les rôles autorisés pour chque méthodes de mon web services j'utilise les annotations @RolesAllowed.

    Quand j'essaye d'accéder à une des ressources du web service le navigateur me demande de saisir l'identifiant et mot de passe puis me redirige vers une page "erreur 403".

    J'ai essayer avec un simple file realm : ca fonctionne très bien. le problème doit donc venir de mon realm Ldap. J'ai essayé plein de configuration sur le net rien ne marche.

    Merci d'avance pour votre aide.

  2. #2
    Membre actif
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut
    Finalement le problème était du à la migration de glassfish 3.0 vers 3.1. En effet le 3.1 utilise le fichier glassfish-web.xml au lieu du classique sun-web.xml. J'utilisais toujours l'ancien.

    Bon par contre ça ne fonctionne toujours pas. Maintenant il donne accès à tous les utilisateurs quelque soit leur groupe...

  3. #3
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Par défaut
    sun-web.xml ou glassfish-web.xml sont équivalents (évites simplement d'utiliser les 2 en même temps)

Discussions similaires

  1. [Security] Authentification LDAP avec Spring Security
    Par tiamo dans le forum Spring
    Réponses: 3
    Dernier message: 24/08/2012, 14h48
  2. Authentification LDAP avec Open LDAP
    Par saint-pere dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 1
    Dernier message: 29/03/2012, 22h27
  3. [PHP 5.0] Authentification LDAP avec PHP
    Par satyre dans le forum Langage
    Réponses: 1
    Dernier message: 02/10/2009, 15h19
  4. [LDAP] Authentification LDAP avec Active Directory
    Par sco_didier dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 20/01/2009, 16h36
  5. Réponses: 3
    Dernier message: 14/03/2006, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo