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

Tomcat et TomEE Java Discussion :

[Tomcat][Role] définir des roles a partir d'un certificat


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut [Tomcat][Role] définir des roles a partir d'un certificat
    Bonjour

    Je fais une authentification client a partir d'un certificat.

    Je me demande comment attribuer un role a mes clients s'ils s'authetifient avec un certificat. Normalement les roles sont attribuée a partir du login name... mais moi avec mes certificats il n'y a pas de login name.

    Est-ce que c'est possible que le CN (common name) du certificat soit utilisé au lieu du login name?

    Je cherche depuis longtemps.. n'importe quelle aide va etre apréciée!

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Bonjour,

    Je te réponds sans bien connaître le sujet et pour t'aider un peu. Tout code qui permet d'identifier un client d'une manière unique et distincte est la bonne. Par exemple le distinguished name (DN): uid=mirtain,ou=people,dc=inria,dc=fr

    En espérant que ça puisse t'aider.

  3. #3
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    Ouais,

    mais en fait je voulais savoir comment Tomcat gérait les roles avec les certificats. Est-ce qu'il prend le CN pour aller voir dans tomcat-users.xml afin de trouver le role asossié a ce CN?

    Merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Je t'avais prévenu, je ne suis pas un spécialiste.

    Ce bout de code pourra sûrement t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            // Check the existence of the client Principal in our database
            return (getPrincipal(certs[0].getSubjectDN().getName()));
    On constate que TOMCAT récupère le nom du subjetDN du premier certificat pour vérifier l'existence du client.

  5. #5
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    Oh yes!!

    Merci ca m'aide vraiment! C'etait exactement ce que je cherchais!!
    Merci

    Es-tu au courant si ca fonctionne aussi sur Tomcat 5.5.9 ?? en fait, quand je fais request.getAuthType() ca me retourne toujorus null...

    Comme si mon client avait pas été authentifié.... Mais pourtant dans mon debug trace de mon serveur je vois que le handshake de l'authentificaiton client s'est bel et bien effectué successuflly...

    Je suis en train dessayer avec tomcat 4.31 .....
    Quel version tu as toi??


    MERCI encore

  6. #6
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Aucune version,

    Je ne travaille pas avec TOMCAT. Ton problème m'intéresse avoir j'ai cherché dans la documentation de TOMCAT. Et j'ai cherché aussi dans les sources de TOMCAT.

    Il me semble que ce type t'authenfication est peu usitée. J'ai trouvé peu de documention concernant l'authenfication par certificat.

    Citation Envoyé par pmartin8
    Comme si mon client avait pas été authentifié.... Mais pourtant dans mon debug trace de mon serveur je vois que le handshake de l'authentificaiton client s'est bel et bien effectué successuflly...
    C'est bien gênant. N'as-tu pas la possibilité de avoir plus de messsage en levant le niveau de DEBUG.[/code]

  7. #7
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    En fait, jai mis mon niveau de debug au max et je vois rien dintéressant...

    Mon Handshake se fait bien... sans probleme mais lorsque je suis dasn mon Servlet request.getUserPrincipal() me retourne toujorus Null....

    je vais continuer d'essayer avec tomcat 4 au lieu de 5.5 ...

    Fais moi signe si tu as une idée!

    Merci

  8. #8
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    aussi... comment est-ce que tu as initialiser ton cert[] ???

  9. #9
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    Finalement jai trouvé la solution a mon probleme

    mon web.xml ne respectais pas la spec 2.4 de servlet-api

    enfin.. la réponse a ma question est que Tomcat utilise le DN (distinguish name) au complet pour authentifier le user.

    Donc dans tomcat-user.xml on ajoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <user username="CN=Client, OU=X, O=Y, L=Z, ST=XY, C=YZ" password="manager" roles="tomcat,admin,manager"/>
    X Y Z XY et YZ sont des exemple du contenu du DN...

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Authentification LDAP - Récupérer des Roles contenants des Groups
    Par ITsecurity dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 28/05/2011, 15h47
  2. gestion des roles et des module avec j2ee
    Par mahbool dans le forum Java EE
    Réponses: 2
    Dernier message: 28/10/2010, 16h13
  3. définir les role des utilisateurs dans un Workflow
    Par samworkflow dans le forum SharePoint
    Réponses: 2
    Dernier message: 16/03/2009, 12h10
  4. Réponses: 0
    Dernier message: 17/02/2009, 12h16
  5. [role] Detecter le role des utilisateurs
    Par Dry dans le forum SQL
    Réponses: 5
    Dernier message: 28/04/2004, 18h06

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