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

Sécurité Java Discussion :

[JGuard] pour comprendre...


Sujet :

Sécurité Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 113
    Par défaut [JGuard] pour comprendre...
    Bonjour,

    J'aimerais me lancer dans l'utilisation de JGuard mais il se trouve que après quelques heures de tests en tout genres (installation des applications d'exemple, lecture de la maigre documentation,etc.) je suis encore plus perdu qu'avant.

    J'en appel donc à ceux qui ont peut-être déjà utilisé ce framework. Connaissez vous un bon tuto, une vrai documentation ou une explication suffisament claire ?
    Ou alors, un autre outil qui fait la même chose mais en plus simple... ?

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 136
    Par défaut
    bonjour,
    faisant partie du projet jGuard, je pense pouvoir t'aider.

    quels sont tes problèmes et tes questions?
    nous sommes conscients que la documentation doit être largement améliorée.
    pourrais-tu nous indiquer précisément sur quelles parties se concentrer en priorité?


    cordialement,

    Charles(jGuard team).

  3. #3
    Membre éclairé Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Par défaut
    Citation Envoyé par diabolo512
    bonjour,
    faisant partie du projet jGuard, je pense pouvoir t'aider.

    quels sont tes problèmes et tes questions?
    nous sommes conscients que la documentation doit être largement améliorée.
    en faite oui, y a pas bcp de doc dessus , j'aimerai savoir est t il possible avec jguard de faire quelque chose comme la restriction d'acces au pages ,voir meme ,à des lignes dans la meme pages( par exmple ,une rubrique 'Administration', qui devait apparaitre pour l'admin et pas pour le client (maniere comme les roles de Basic de tomcat ou via un formulaire et une connexion BD )

    cordialement

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 113
    Par défaut
    Si j'ai bien compirs, JGuard repose sur JAAS. On peut donc decouper son utilisation en deux categories : Authentification et Autorisations.

    Ces deux parties m'intéresse. Je souhaite pouvoir stocker les infos sur les droits d'acces dans une base de données afin de pouvoir les modifier de n'importe ou depuis une application d'administration distante.
    Quant aux utilisateurs je souhaiterai pouvoir les récupérer depuis une autre base distante voir pourquoi pas d'un annuaire LDAP...

    En fait, ma question est : sur quel modèle fonctionne JGuard ? En regardant un peu les fichiers xml fournis avec la distribution, j'ai cru déterminer le modèle suivant :
    --> une permission est associée à des actions
    --> un domaine est associé à des permissions
    --> un rôle est associé à des domaines
    --> un utilisateur est associé à un role
    Je ne sait pas si c'est vraiment ça mais en tout cas ce modèle me suffirait. Malheureusement, je ne retrouve pas ça dans la base de donnée que j'ai pu recréer à partir des fichiers .properties contenus dans l'application d'exemple.

    Par exemple, pour toute mes appli J2EE, je fait un accés aux bases de données à l'aide d'Hibernate. Si je veux administrer les permissions, domaines, roles, etc., est ce que JGuard me fourni déjà un moyen d'accès simple pour l'administration ou bien est ce que je dois refaire mon mapping Hibernate et recréer mes objets ?

    Voila, j'espere que mes questions ne sont pas trop incompréhensibles. Merci.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 136
    Par défaut
    j'aimerai savoir est t il possible avec jguard de faire quelque chose comme la restriction d'acces au pages ,voir meme ,à des lignes dans la meme pages( par exmple ,une rubrique 'Administration', qui devait apparaitre pour l'admin et pas pour le client (maniere comme les roles de Basic de tomcat ou via un formulaire et une connexion BD )
    la réponse est oui.
    une webapp d'exemple est fournie avec jGuard pour illustrer cela.
    celle-ci montre en exemple, l'utilisation possible de jGuard avec Struts (jGuard n'est pas lié à l'utilisation de Struts).
    les utilisateurs enregistrés (dans une base de données, XML, ou LDAP), ont des rôles.
    ces rôles définis, ont des permissions, correspondant dans l'exemple à des urls.
    ainsi, suivant les rôles de l'utilisateur, celui-ci pourra avoir accès à la page voulue ou non.
    l'affichage de bouts de pages est aussi supporté via une libraire de tags jsp fournie.
    (cf http://jguard.xwiki.com/xwiki/bin/view/Doc/TagLibs).
    les rôles et permissions d'une applications peuvent aussi être stockés dans une base de données ou dans un fichier XML.

    cela répond-il à vos questions?

    Charles(jGuard team).

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 113
    Par défaut
    En ce qui concerne les rôles et permissions d'une application, j'ai bien compris comment ils étaient stockés dans les fichiers XML et je pense avoir créé les bonnes tables pour les stocker en base de donnée.

    Par contre, JGuard fournit-il une couche d'accès à ces données (qu'elles soient en base ou en XML) ?
    Actuellement je cherche à pouvoir modifier ces données depuis une application distante. Est ce que je suis obligé de me faire ma propre couche d'accès aux données pour pouvoir les modifier ?

    D'autre part, j'arrive à initialiser ma base de donnée gérant la partie autorisation à partir d'un fichier XML prérempli. Je fait ceci dans le fichier de config jGuard :
    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
     <authorizationManager>net.sf.jguard.authorization.JdbcAuthorizationManager</authorizationManager>
    <authorizationManagerOptions>
    <option>
    <name>fileLocation</name>
    <value>WEB-INF/conf/jGuard/jGuardPrincipalsPermissions.xml</value>
    </option>
    <option>
    <name>authorizationDriver</name>
    <value>com.mysql.jdbc.Driver</value>
    </option>
    <option>
    <name>authorizationUrl</name>
    <value>jdbc:mysql://localhost/jguard</value>
    </option>
    <option>
    <name>authorizationLogin</name>
    <value>login</value>
    </option>
    <option>
    <name>authorizationPassword</name>
    <value>password</value>
    </option>
    <option>
    <name>debug</name>
    <value>true</value>
    </option>
    <option>
    <name>fileLocation</name>
    <value>WEB-INF/conf/jGuard/authorization.mysql.properties</value>
    </option>
    </authorizationManagerOptions>
    Cela fonctionne bien et toute la configuration contenue dans mon jGuardPrincipalsPermissions.xml se retrouve dans mes tables.

    Par contre, existe-t-il un moyen de faire pareil avec le fichier jGuardUsersPrincipals.xml ?

    Merci

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 136
    Par défaut
    bonjour,
    tu fais allusion au fait que des données initialement persistées dans un fichier xml, peuvent être importées dans une base de données.
    pour la partie autorisations, cela fonctionne dans la 0.70 comme tu as pu le voir.
    pour la partie authentication, cela fonctionne à partir de la 0.80 beta 1 (la 0.80 beta2 sort aujourd'hui).
    concernant la manipulation des Subjects(utilisateurs), principals(roles),domaines(groupe de permissions), et permissions, tout ceci s'effectue via les objets authenticationManager et authorizationMAnager.
    la webapp fournit permet d'ailleurs de les modifier à chaud (exemple plus approfondi dans la webapp de la 0.80 beta2).
    donc toutes les entités sont déjà manipulables via ces deux objets(récupérables dans la webapp car stockés dans le contexte application avec pour clés 'authenticationManager' et 'authorizationManager').
    petite info: un domaine n'est qu'un regroupeemnt fonctionnel de permissions (exemple:toutes les permissions concernant les commandes).
    par contre, un role peut contenir des permissions spécifiques, ou des domaines entiers pour aller plus vite.

    est-ce que cela rpond à toutes tes questions?

    Charles(jGuard team).

Discussions similaires

  1. Aide pour comprendre un code
    Par Spacy_green dans le forum Assembleur
    Réponses: 2
    Dernier message: 13/02/2006, 13h22
  2. Aide pour comprendre le code
    Par jfreuff dans le forum Assembleur
    Réponses: 2
    Dernier message: 31/01/2006, 17h54
  3. Conseil livre pour comprendre scripts
    Par Filippo dans le forum Linux
    Réponses: 9
    Dernier message: 13/10/2005, 10h36
  4. Réponses: 4
    Dernier message: 28/07/2005, 16h22

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