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 :

Besoin d'aide JGuard


Sujet :

Sécurité Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut Besoin d'aide JGuard
    Bonjour !!
    Alors je suis sur une appli web (Struts)et j'ai l'intention d'utiliser le framework JGuard pour la gestion des droits d'accès, je suis sûr que JGuard est le bon choix mais je sais d'avance qu'il n'y a pas assez de documentation, la preuve je ne sais même pas d'où commencer j'ai récupérer la webApp demo
    "jguard-struts-example-1.0.3" mais je me sens toujours perdu quelqu'un pourrait me donner un coup de main SVP histoire de bien démarrer ??

  2. #2
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut Anomalie JGuard
    Ben faut dire que je me debrouille bien tout seul
    je ne sais pa si c un bug ou une mauvaise maneovre de ma part, car j'ai des petits pb (enfin un peu gros)avec JGuard :
    1 - il arrive que mon SGBD MySql plante au niveau des accès (actions Users.do)ce qui m'oblige à redémarrer tout le système (je suis logger en tant qu'utilisateur)
    2 - quand j'essaie d'affecter ou de desaffecter des principals (rôles) à un user ça plante aussi et il n'a plus rien même l'administrateur perd tout si j'essaie de lui désaffecter un principal.
    3 - j'y suis parvenu à créer un register en tant qu'administrateur alors que j'étais logger en tant que guest.
    4 - Quelqu'un pourtait essayer ce scénario avec JGuard
    se unauthenticated puis se register et vous vous retrouver en admin vous pensez que c'est normal
    Aidez moi je suis tout perdu SVPPPPPPPP

  3. #3
    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,
    concernant les problèmes cités, les voyez-vous dans la webapp jguard-struts-example sans ajouter de code ou de changements?
    => ou sont-ils apparus après vos modifications?

    cordialement,

    Charles.

    jGuard team.

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut Pb jGuard
    Non non j'ai pas touché au code je faisai juste des tests d'essais

  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
    prenons vos problèmed un par un:
    "1 - il arrive que mon SGBD MySql plante au niveau des accès (actions Users.do)ce qui m'oblige à redémarrer tout le système (je suis logger en tant qu'utilisateur)"
    => pourriez-vous poster les logs

    "2 - quand j'essaie d'affecter ou de desaffecter des principals (rôles) à un user ça plante aussi et il n'a plus rien même l'administrateur perd tout si j'essaie de lui désaffecter un principal."
    => pourriez-vous poster les logs

    "3 - j'y suis parvenu à créer un register en tant qu'administrateur alors que j'étais logger en tant que guest."
    => quelle série d'avitons avez-vous faite?

    "Quelqu'un pourtait essayer ce scénario avec JGuard
    se unauthenticated puis se register et vous vous retrouver en admin vous pensez que c'est normal"
    = >est-ce le même cas que le numéro 3?

    pourriez-vous détailler précisément suivant le numéro le problème (1,2,3,ou 4), et poster les logs associés?

    cordialement,

    Charles.

  6. #6
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    D'accord !!
    (Je voudrais juste que vous sachiez que j'ais un tât d'autres pb à régler)
    Donc je me log en tant que admin
    je passe à la page d'administration
    puis je passe à la gestion des users
    si par exemple je crée un nouvel utilisateur et que je lui affecte des permissions, en revenant à la page des users je trouve l'utilisateur sans aucune permission, et si je le fait pour admin (en changeant ses permissions)
    il perd tout(aucune permission).
    ** Quand j'accède à la gestion des pricipals et que je veuille ajouter un nouveau rôle l'erreur suivante s'affiche :
    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
    INFO:  user= [  location=Paris  firstname=Rick  lastname=Dangerous ] :  subject has got the permission name=permissionFromUser actions=/Principal.do?method=update,ANY,POSTpermission build from the user request implies  authorize phase 
    net.sf.jguard.ext.authorization.AuthorizationException:  the principal  is not present in the database : it hasn't got any id 
    	at net.sf.jguard.ext.authorization.manager.JdbcAuthorizationManager.addDomainsAndPermissions(JdbcAuthorizationManager.java:891)
    	at net.sf.jguard.ext.authorization.manager.JdbcAuthorizationManager.updatePrincipal(JdbcAuthorizationManager.java:853)
    	at net.sf.jguard.example.struts.admin.actions.PrincipalDispatchAction.update(PrincipalDispatchAction.java:205)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at org.apache.struts.actions.ActionDispatcher.dispatchMethod(ActionDispatcher.java:332)
    	at org.apache.struts.actions.ActionDispatcher.dispatchMethod(ActionDispatcher.java:315)
    	at org.apache.struts.actions.ActionDispatcher.execute(ActionDispatcher.java:220)
    	at net.sf.jguard.example.struts.actions.BaseAction.execute(BaseAction.java:56)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
    	at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at net.sf.jguard.jee.authentication.http.AccessFilter.authorize(AccessFilter.java:536)
    	at net.sf.jguard.jee.authentication.http.AccessFilter.doFilter(AccessFilter.java:292)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    	at java.lang.Thread.run(Thread.java:595)
    30 mai 2007 15:39:04 net.sf.jguard.ext.audit.AuditManager addEvent
    **Je note que si j'utilise une BDD MySql, phpMyAdmin plante ça veut dire qu'il ne répond plus la page de gestion des bdd affiche une erreur il faut le redémarrer et puisque je suis logger en tant qu'utlisateur windows je dois rebooter tout le système
    **même scénario si j'utilise xml pour la persistence
    ai-je étais bien clair ??

  7. #7
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    Le deusième point et compris dans le premier post
    3** Je ne sais pas, mais je nepense pas que ça soit logique que je puisse créer un utilisateur qui a tous les droits (admin) alors que je suis logger en tant que guest (minimum de droits) (je l'ai fait et refait pas mal de fois).

  8. #8
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut Demande d'aide
    J'arrive aux choses serieuses !!
    Alors je pense que comprend bien le fonctionnement de JGuard et il faut dire qu'il est en mesure de me faciliter la vie une fois que je saurais l'utiliser :
    l'exemple de la webapp Struts est un exemple duquel en s'inspire pour réaliser son propre webapp ou sur le quel on doit se baser ???
    Je vais m'expliquer :
    Donc j'ai télécharger JGuard la dernière version 1.0.2
    je trouve un war pour l'application exemple en struts
    je déploie tant mieux ça marche à merveille.
    je jette un coup d'oeil sur les fichiers de configuration (.xml), désormais je maitrise bien les permissions, les domaines, les rôles et les users.
    maintenant je me retrouve avec deux application celle de l'exemple et la mienne croyez moi je ne sais pas quoi faire avec les deux je voudrais juste que vous m'expliquiez le poinr de départ c'est tout !!

  9. #9
    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
    rebonjour,
    la dernière version est la 1.0.3, je pense qu'il est donc préférable d'utiliser celle-ci.
    concernant jguard-struts-example, effectivement, il est préférable de partir de cet exemple plutôt que de partir de rien.
    concernant ton problème indiqué par les logs, il semble qu'il y a un problème d'initialisation de ta base de données ou qq chose lié.
    pourrais-tu faire un test en choisissant de persister les autorisations et les authentifications en xml comme c'est fourni par défaut?
    est-ce que cela marche?
    le but est de partir d'une solution qui marche, et de voir pas à pas jusqu'où cela ne va pas marcher.....
    bref, j'ai besoin de savoir si la webapp par dérfaut marche, puis quelles sont les modifs que tu as faites, et enfin d'avoir les logs quand cela ne marche pas....
    Charles.

  10. #10
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    Bonjour !!
    Je pense que j'ai parvenu à régler les pb.
    Ce que je voudrais comprendre maintenant c'est comment integrer l'exemple dans mon application, juste l'idéé de départ avec un peu d'explication si c'est possible
    Merci

  11. #11
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    Bonjour !!
    Je vais vous expliquer ce que je suis entrain de faire :
    (Ma webApp fonctionne très bien elle affiche au démarrage une page contenant des données provenant d'une BDD, selon l'utilisateur authentifié j'affiche ou non des boutons pour passer à d'autre pages ou pour imprimer bref jusque là ça fonctionne très bien) :
    Maintenant j'ai pris l'exemple de jguard-struts version 1.0.3 dans lequel j'essaie d'integrer mais actions ainis que mes jsp :
    Donc pourriez vous me valider les étapes suivantes :
    ** Dans le répertoire jsp sous conf j'ai mis toutes mes jsp
    ** J'ai mis mes actions et mes classes metiers dans le rep source de la webapp d'exemple
    Maintenant je voudrais que l'utilisateur une fois authentifié si dirige directement vers la première page de ma webApp (ça ce fait avec une action)avec autant de bouton que de privilèges.
    Veuillez m'orienter vers le droit chemin si j'y suis pas, D'accord !!
    Je suis sûr qu'il y a des modifications à porter sur le fichier jGuardPrincipalsPermissions.xml, en fait le fichier jGuardFilter.xml sert à quoi ?
    Merci de votre compréhension.

  12. #12
    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,
    Dans le répertoire jsp sous conf j'ai mis toutes mes jsp
    => pourquoi pas, le plus important est que vous vous y retrouviez (même si mettre les jsp dans conf est étonnant vu que ce n'est pas de la configuration), et surtout que les jsp soit dans un sous-répertoire de WEB-INF (pour éviter un accès direct=> c'est le plus important!) .

    ** J'ai mis mes actions et mes classes metiers dans le rep source de la webapp d'exemple
    => souvent on les met .class dans WEB-INF/classes
    Maintenant je voudrais que l'utilisateur une fois authentifié si dirige directement vers la première page de ma webApp
    => pour cela , dans le fichier accessFilter.xml, il faut renseigner la bonne url dans la balise indexURI.

    en fait le fichier jGuardFilter.xml sert à quoi
    => le fichier jguardauthentication.xml sert à gérer les authentifications, jguardauthorization.xml les autorisations, et le fichier accessFilter.xml (spécifique aux applications web cotnrairement aux deux autres)à configurer les urls pour s'authentifier, rediriger quand l'authentification réussit ou échoue, et les urls pour s'enregistrer.

    en espérant que ma réponse vous aura aidé.

    charles.

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

Discussions similaires

  1. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  2. Besoin d'aide avec postgresql sous windows NT
    Par Chihuahua dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/07/2003, 08h29
  3. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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