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] Securisé plusieurs applications Web


Sujet :

Sécurité Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut [JGUARD] Securisé plusieurs applications Web
    boujour ,

    je travail depuis po mal du tps sur jGuard j commencé par l'exemple
    ( jguard-struts-example {1.0.1} ) tt marche a merveille .
    la problematique c que je vx decortiqué mon application web en plusieurs Module y compri le Module jGuard ce dernier va s'occupé de la securité des autres Modules S possible avec jGuard et si c le cas comment je doit proceder est ce que je doit travailier avec "JVM" au lieux de local et meme avec le "jGuard.Loginschema"
    Merci D'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut SVP DIABOLO je suis blocké
    j vraiment besoin d'aide

  3. #3
    Membre habitué
    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
    Points : 143
    Points
    143
    Par défaut
    bonjour,
    pour ceci, vous devez pour chaque webapp installer les fichiers de configuration de l'exemple struts fourni avec jguard (jguard-struts-example).
    pour la partie autorisations, chaque webapp aura sa propore configuraiton, c'est à dire ses rpopres permissions et rôles.
    par contre, pour la partie authentification, chaque webapp aura des paramètres dans leur fichier jguardauthentication.xml pointant sur le même datasource (xml ou base de données).
    comme ce datasource contient les rôles de chaque utiisateur pour des applications données, on gère dans ce datasource les accès de plusieurs applications web.
    si une de vos applications web contrôle ce datasource, vous gérez la sécurité de plusieurs applications à la fois.

    cordialement,

    charles.

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut Re
    Merci diabolo ,

    c'est bon j'ai compris maintenant que la partie authentification est commune et je suis d'accord avec vous mais si dans le cas ou les autorisations doivent etre aussi commune car c'est juste des module de la meme application web
    dans ce cas je serai obliger de coupier tout les fichier de configuration ainsi que les different classe dans chaque application web ???

  5. #5
    Membre habitué
    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
    Points : 143
    Points
    143
    Par défaut
    si vous parlez de modules de la même application web, il n'y a qu'une seule configuration des autorisations pour toute la webapp, ainsi qu'une seule configuration pour les authentifications:
    le servlet filter intitulé AccessFilter (qui réalise les authentificaitons et autorisatons)déclaré dans le fichier web.xml, s'applique à toute la webapp.
    pour découper les autorisations par module, le meilleur moyen est d'avoir une convention de nommage avec par exemple le préfixe du module au début du nom de l'urlpermission.
    cela permet de retrouver ses petits.
    la notion de domaine dans jguard aurait pu être évoqué, mais je pense que cette notion sera supprimé dans des versions supérieures, car elle apporte plus de complexité que de flexibilité.

    cordialement,

    Charles.

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut re merci
    --- ok je crois ke j tt compri sauf le fait de securisé mes action Struts S possible de me donner un exemple qui motre commet on peut securisé une action et je me demande si on doit les securisé durant leurs apel ou bien ds leur implementation (SbjectId)

    --- une dreniere question ds la cas ou mon application web se compose de plusieurs module et ds chaque module il aura un web.xml je doit tt modifier pour ke l'ensemple de l'appl soit securisé ou bien je v tt derigé a partir d'un seul module ?

    cordialement
    Hamada

  7. #7
    Membre habitué
    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
    Points : 143
    Points
    143
    Par défaut
    la solution fournie par jguard dans les versions actuelles, sécurise les urls, qui sont indépendantes du framework web utilisé (struts et les autres).
    donc, la sécurisation se fait avant l'appel à une action struts.
    quand l'action struts s'éxécute, le contrôle de sécurité est déjà effectué.

    concernant votre application web :
    une application contient un seul et unique fichier web.xml .
    on peut découper une application web en modules si on le veut, amis le web.xml est toujours unique.
    la notion de module est d'ailleurs proposée par struts.

    cordialement,

    Charles.

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut re
    bonjour Charles,

    voila c bon vous m'avez bien guidez merci infiniment .

    une tte derniere question S possible de securiser l'apel d'une page JSP au lieu de passer par une Action ?

    Cordialement
    Hamada

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut Re
    bonsoir Charlies

    dsl mais j un autre probleme quand je vx creé mes propre dommaine ou bien permission ou mm role tt va bien mais kand je vx les affecté a un utilisateur de test ma console me sort les erreure suivante et l'utilisateur test ne s'affiche po ds la liste des users

    18:22:29,312 INFO [STDOUT] 8 mars 2007 18:22:29 net.sf.jguard.ext.authentication.manager.JdbcAuthenticationManager persistUser
    GRAVE: persistUser(Subject user)
    java.sql.SQLException: Ensemble de résultats épuisé
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
    at oracle.jdbc.driver.OracleStatement.prepare_for_new_get(OracleStatement.java:3366)
    at oracle.jdbc.driver.OracleStatement.getLongValue(OracleStatement.java:4524)
    at oracle.jdbc.driver.OracleResultSetImpl.getLong(OracleResultSetImpl.java:555)
    at net.sf.jguard.ext.authentication.manager.JdbcAuthenticationManager.getPrincipalId(JdbcAuthenticationManager.java:339)
    at net.sf.jguard.ext.authentication.manager.JdbcAuthenticationManager.persistPrincipals(JdbcAuthenticationManager.java:573)
    at net.sf.jguard.ext.authentication.manager.JdbcAuthenticationManager.persistUser(JdbcAuthenticationManager.java:609)
    at net.sf.jguard.ext.authentication.manager.AbstractAuthenticationManager.createUser(AbstractAuthenticationManager.java:112)
    at net.sf.jguard.example.struts.admin.actions.UserDispatchAction.create(UserDispatchAction.java:218)
    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:359)
    at org.apache.struts.actions.ActionDispatcher.dispatchMethod(ActionDispatcher.java:333)
    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:413)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:225)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    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:186)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at net.sf.jguard.jee.authentication.http.AccessFilter.authorize(AccessFilter.java:502)
    at net.sf.jguard.jee.authentication.http.AccessFilter.doFilter(AccessFilter.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:44)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:169)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:595)
    18:22:29,328 ERROR [UserDispatchAction]
    18:22:29,328 ERROR [UserDispatchAction]
    18:22:29,328 ERROR [UserDispatchAction] net.sf.jguard.ext.registration.RegistrationException: net.sf.jguard.ext.authentication.AuthenticationException: java.sql.SQLException: Ensemble de résultats épuisé

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut question important
    bonsoir charlies,

    est ce que URLpermission supporte les action dispache et si c le cas un exemple de syntaxe me sera tres utile

    Cordialement
    hamada

  11. #11
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 18
    Points
    18
    Par défaut C bon mais !!!
    salut ,

    apres des heure de teste j pu trouvé un BUG applicationNam#Principal

    mais j resolu le pb manulement en supprimant "applicationName#" de ma base de donneés exist-il un patch pour resoudre tt ca si c le cas priere de me filler le lien

    Cordialement
    HAMADA

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

Discussions similaires

  1. 1 IP pour plusieurs applications Web Symfony
    Par webornot dans le forum Apache
    Réponses: 10
    Dernier message: 12/06/2011, 01h41
  2. Réponses: 0
    Dernier message: 28/03/2011, 16h51
  3. Réponses: 3
    Dernier message: 21/10/2009, 15h29
  4. Réponses: 3
    Dernier message: 18/03/2008, 09h45
  5. [Tomcat][Plusieurs applications WEB] Partage d'objet.
    Par ZeKiD dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 09/04/2005, 13h23

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