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

Struts 1 Java Discussion :

Sécurité application web


Sujet :

Struts 1 Java

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    372
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 372
    Par défaut Sécurité application web
    Bonjour,

    Je suis entrain de developper mon application web "gestion de planning", j'ai trois utilisateurs :

    consultant : pour consulter ses taches ainsi qu'editer des rapport
    chefprojet : pour créer des tache,projet... modifier... supprimer...
    administrateur : créer, modifier, supprimer des comptes
    je sais pas comment puis je gérer ca, ils m'ont dit dans le forum d'utiliser : Acegi Security mais je sais pas de quoi il s'agit ni comment puis je travailler avec sachant que j'utilise eclipse comme IDE, l'authentification a ma base (a travers hibernate) sera toujours avec le compte admin ou ca sera une variable selon l'utilisateur authentifié.

    Rq : dans mon diagramme de classe j'ai deja une table de "Droit". Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Par défaut
    Tu peux mapper l'évaluation d'une stratégie de sécurité Acegi sur tes propres classes, dans la mesure où elles expriment la même philosophie.

    Acegi est extrêmement doué dans cette tâche, mais loin d'être évident à mettre en oeuvre. Mais même si tu ne connais pas, lance toi, sinon tu n'évolueras jamais.

    Commence par lire ce tutorial en français: http://ego.developpez.com/acegi/

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu peux également utiliser une authentification JAAS avec des rôles et protéger tes options/modules en testant l'appartenance de l'utilisateur à tel ou tel rôle.
    C'est simple et ça correspond à ce que tu cherches...

    Moi je me suis fais un petit taglib pour faire des tests de rôle un peu plus avancés que le request.isUserInRole("Admin"), si ça t'intéresse...

    Pour le paramétrage, c'est très simple, voici un exemple pour JBoss 4.2.2 :

    - une table principals
    CREATE TABLE `principals` (
    `PrincipalID` varchar(64) NOT NULL,
    `Password` varchar(64) DEFAULT NULL,
    PRIMARY KEY (`PrincipalID`)
    )
    - une table roles
    CREATE TABLE `roles` (
    `PrincipalID` varchar(64) DEFAULT NULL,
    `Role` varchar(64) DEFAULT NULL,
    `RoleGroup` varchar(64) DEFAULT NULL
    )
    - dans web.xml
    ...
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>Vigile Web</web-resource-name>
    <url-pattern>*.do</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>Administrateur</role-name>
    <role-name>Utilisateur</role-name>
    </auth-constraint>
    <user-data-constraint>
    <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
    </security-constraint>

    <security-role>
    <role-name>Administrateur</role-name>
    </security-role>
    <security-role>
    <role-name>Utilisateur</role-name>
    </security-role>

    <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Application Vigile</realm-name>
    </login-config>
    ...
    - ajouter un jboss-web.xml
    <jboss-web>
    <security-domain>java:/jaas/vigile</security-domain>
    </jboss-web>
    - dans ...\jboss-4.2.2.GA\server\default\conf, ajouter dans login-config.xml
    <application-policy name="vigile">
    <authentication>
    <login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule"
    flag = "required">
    <module-option name = "dsJndiName">java:/VigileRealmDS</module-option>
    </login-module>
    </authentication>
    </application-policy>
    - ensuite il faut définir les sources de données dans D:\jboss-4.2.2.GA\server\default\deploy (par exemple mySQL-ds.xml)
    <?xml version="1.0" encoding="UTF-8"?>

    <datasources>
    <local-tx-datasource>
    <jndi-name>MySQLDS</jndi-name>
    <connection-url>jdbc:mysql://localhost/vigile</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>...</password>
    <min-pool-size>10</min-pool-size>
    </local-tx-datasource>

    <local-tx-datasource>
    <jndi-name>VigileRealmDS</jndi-name>
    <connection-url>jdbc:mysql://localhost/realm</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <password>...</password>
    </local-tx-datasource>

    </datasources>
    Voilà, c'est un peu long, j'espère que ça t'aidera...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Sécurité application web
    Par Anibel dans le forum Débuter
    Réponses: 1
    Dernier message: 31/01/2013, 14h53
  2. Réponses: 1
    Dernier message: 15/12/2009, 15h20

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