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

Spring Java Discussion :

Empêcher l'accès à des pages interdites [Security]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 80
    Par défaut Empêcher l'accès à des pages interdites
    Bonjour.
    Je voudrai empêcher l'accès à des pages interdites lorsque l'utilisateur saisi l'adresse via l'url.
    J'ai mis ce code mais ça ne marche pas encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <security:intercept-url pattern="/actionAppelee.*" access="ROLE_MASTER" />
    car l'utilisateur qui a le ROLE_USER arrive à se connecter.

    Je travaille avec spring, struts 2...

    Est-ce que quelqu'un a une idée svp ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    C'est seulement sur cette page que ça fait foiré la sécurité ou bien pour toutes?
    As-tu déclaré la fichier de configuration de spring sécurity dans ton web.xml (contextConfigLocation) ?
    La valeur de ton path-type ?
    Peut-on voir un peu plus sur la fichier de configuration de sécurité?

    A+.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 80
    Par défaut
    Bonjour.

    En fait, toutes les pages qui sont interdites, sont accessibles via l'url.
    Pour le contextConfigLocation, oui, je l'ai déclaré dans le fichier web.xml comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <context-param>
    	<param-name>contextConfigLocation</param-name>
    	<param-value>
    	classpath:applicationContext-core.xml	
    	classpath:applicationContext-web.xml		
    	classpath:applicationContext-security.xml
    	</param-value>
    </context-param>
    Voici un bloc de sécurité dans le fichier applicationContext-security.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <sec:http use-expressions="true" auto-config="false" access-denied-page="/access_denied.jsp">
    <sec:intercept-url pattern="/**" access="isAuthenticated()" />
    <sec:intercept-url pattern="/login.jsp" filters="none" />	
    <sec:intercept-url pattern="/changePassword.jsp" filters="none" />
    <sec:intercept-url pattern="/forgotten.action" filters="none" />		
    <sec:intercept-url pattern="/uneAction.*" access="ROLE_MASTER" />
    <sec:intercept-url pattern="/uneAutreAction.*" access="ROLE_MASTER" />	 
    <sec:intercept-url pattern="/UneTroisiemeAction.*" access="hasAnyRole('ROLE_USER', 'ROLE_MASTER')" />
    <sec:intercept-url pattern="/images/*" filters="none" />
    <sec:intercept-url pattern="/*validation.xml" filters="none" />
    <sec:form-login login-page="/login.jsp" authentication-failure-url="/login.jsp?login_error=true" default-target-url="/search.jsp"/>
    <sec:logout logout-success-url="/login.jsp" invalidate-session="true" />
    </sec:http>
    Merci d'avance.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Si tu ne déclares pas le path-type, tu dois utiliser "**" et non pas une seule "*" car le default est "ant".

    A+.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 80
    Par défaut
    Merci.
    Est-ce que tu veux dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <sec:intercept-url pattern="/uneAction.**" access="ROLE_MASTER" />
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <sec:intercept-url pattern="/uneAction.*" access="ROLE_MASTER" />
    ?
    Si oui, je l'ai testé mais toujours pareil, on y accède même si on n'a pas le droit.
    Merci bien.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 80
    Par défaut
    Bonjour.
    Je suis arrivé à corriger le bug en déplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <sec:intercept-url pattern="/**" access="isAuthenticated()" />
    avant la fin de la balise et aussi avant la balise . En plus, j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    access="hasRole('ROLE_MASTER')"
    .
    Cependant, ça marche très bien sur IE8 mais ça ne marche pas sur IE7, c'est à dire, il n'y a pas de sécurité sur IE7.
    Si quelqu'un a une idée, elle est la bienvenue.

    Merci d'avance.

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

Discussions similaires

  1. Empêcher l'accès à une page d'une Business application
    Par Golzinne dans le forum Silverlight
    Réponses: 9
    Dernier message: 16/08/2010, 20h45
  2. Accès à des pages en PHP
    Par VarioFlux dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2008, 11h32
  3. google référence des pages interdites par mon robot.txt
    Par san1981 dans le forum Référencement
    Réponses: 5
    Dernier message: 08/09/2008, 12h43
  4. [HTML] Restreindre l'accès à des pages HTML
    Par veevee dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 13/04/2008, 22h30
  5. [Sécurité] Empêcher l'accès aux pages
    Par benoitinfrance dans le forum Langage
    Réponses: 14
    Dernier message: 24/08/2006, 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