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 :

Application avec contrôle des droits


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Application avec contrôle des droits
    Bonjour, je débute avec Struts et je souhaite réaliser une application dont certaines actions nécessitent d'être authentifié avec un compte ayant des droits suffisants.

    Si l'utilisateur appelle une URL dont il n'a en principe pas accès, comment faire l'identification avant l'affichage du formulaire lorsque cette URL est simplement du type action forward ?

    Merci.

  2. #2
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonsoir,
    si tu es en Struts 1.x, tu peux gerer ton cas a l'aide de l'atributs roles de l'element action dans ton struts-config

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <action path="/Welcome"
      roles="role1,role2" ....
    SI tu utilises la securite standard J2EE, tu n'a rien a faire, par contre si tu gere tes roles autrement que par J2EE (j_security_check), il faut que tu implemente la methode processRoles du RequestProcessor de Struts

    http://www.devarticles.com/c/a/Java/...pplications/5/

    Une fois implemente, tu renseigne ton requestprocessor dans struts-config
    comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <controller
           processorClass="...CustomRequestProcessor "/>
    Angelo

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Merci pour ces informations, je vais creuser la chose.

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Salut,

    Quelqu'un peut-il me dire comment on attribue un role à un utilisateur donné ? Je souhaiterai le faire au moment de la vérification aurpès de la BDD. Comment dire que tel utilisateur a tel role et ou cela se fait-il ?

    Merci d'avance.

  5. #5
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonjour,
    si tu veux utiliser le securite J2EE standard, c'est le serveur (ex : Tomcat,...) qui s'occupe de remplir l'objet java.security.Principal et de le mettre dans la request HttpServletRequest). Apres dans ton application tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean hasRole = request.isUserInRole("MyRole")
    Pour configurer ton serveur tu dois configurer un REALM (JDBCRealm) dans ton cas pour indiquer la table user et role. Ca sera ce realm qui remplira l'objet Principal.

    Il faut definir la pae d'authentification a utilise dans le web.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <login-config>
    	    <auth-method>FORM</auth-method>
    	    <realm-name>Tomcat Server Configuration Form-Based Authentication Area</realm-name>
    	    <form-login-config>
    	      <form-login-page>/authentification.jsp</form-login-page>
    	      <form-error-page>/authentification.jsp?erreur=1</form-error-page>
    	    </form-login-config>
    	  </login-config>
    Et dans la jsp authentification tu dois defnir un formulaire j_security_check:

    <form method="post" name="loginForm" action="j_security_check" >
    <input type="text" name="j_username" id="j_username" >
    <input type="text" name="j_password" id="j_password" >
    </form>

    Je l'ai fait dans mon projet gestcv http://gestcv.sourceforge.net/fr/index.html

    Tu peux trouver une doc sur http://beuss.developpez.com/tutoriel...on/formulaire/

    Pour configurer JDBCRealm :
    http://gestcv.sourceforge.net/fr/ins...du%20JDBCRealm

    Angelo

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/04/2012, 12h57
  2. [AC-2007] Performance - Contrôle des Droits
    Par kan630 dans le forum Projets ADP
    Réponses: 4
    Dernier message: 29/02/2012, 14h24
  3. Réponses: 1
    Dernier message: 30/08/2010, 10h40
  4. Réponses: 0
    Dernier message: 21/07/2010, 12h30
  5. Réponses: 0
    Dernier message: 21/07/2010, 12h30

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