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 :

Bloquer l'accès manuel aux pages : Interceptor ?


Sujet :

Spring Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 24
    Points
    24
    Par défaut Bloquer l'accès manuel aux pages : Interceptor ?
    Bonjour,

    je m'intèresse beaucoup au Framework Spring en ce moment en effectuant quelques test. Aujourd'hui je cherches à réaliser quelques choses d'un peu plus particulier et malheureusement je bloques dessus.

    Pour tous les accès à mes pages jsp, j'utilise donc des controleurs qui permettent de faire des traitements avant de redigirer sur la vue JSP. Cet ensemble de page est accessible par le biais d'un menu. J'aimerais faire en sorte de pouvoir bloquer l'accès manuel à mes pages. C'est à dire que j'aimerais que l'utilisateur soit obligé de passé par le menu pour accèder aux pages souhaités, et non pas qu'il rentre l'adresse d'une page jsp ou l'adresse mappant un contrôleur directement dans la barre d'adresse du navigateur.

    J'ai entendu parler des intercepteurs dans Spring. Est-ce que je suis sur la bonne voie ? Ou alors je fais totalement fausse route et cela n'est pas possible ?

    J'espère que je me suis bien expliqué ^^. Merci d'avance de m'éclairer sur le sujet .

  2. #2
    Membre régulier
    Inscrit en
    Octobre 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 108
    Points : 98
    Points
    98
    Par défaut
    En ce qui concerne la sécurité, je te propose d'utiliser le framework Acegi. Il intègre très bien à Spring.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    En fait au niveau d'un intercepteur tu peux bloquer ou faire suivre la requette donc tu peux peu être utiliser un attribut dans le request pour valider ou non le passage par ton menu.

    Ca peu ressembler a ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Interceptor extends HandlerInterceptorAdapter {
     
    	public boolean preHandle(HttpServletRequest request,
    			HttpServletResponse response, Object handler) throws Exception {
     
    		HttpSession session = request.getSession(true);
     
    		if (session.getAttribute("Un attribut passé par ton menu").equals(null)){
    			return false;
    		}
    		return true;
    	}
    }

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 44
    Points : 24
    Points
    24
    Par défaut
    @trungsi : Oui j'utilises déjà acegi-security, effectivement il fonctionne très bien et on ne peut pas accèder à mes pages manuellement si on est pas authentifier. Par contre, une fois authentifié l'accès manuel est possible.

    @Pere P : Merci je vais testouiller avec ton idée

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 108
    Points : 98
    Points
    98
    Par défaut
    il me parait qu'en déplaçant des jsp dans WEB-INF, on peux interdire des accès directs. A googleliser donc.

  6. #6
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    A mon avis, aucun moyen de les obliger de passer par un menu. Je m'explique : le principe du web est de lié des pages entres elles grâce aux liens hypertexte, quand quelqu'un clique sur ton menu, il appel donc un lien vers une autre page, mais si au lieu de cliquer il va directement sur la page celà revient au même (le clique est intercepté par le browser qui ensuite demande la page au serveur).

    La seule manière de faire, est de généré un sessionId que tu passe systématiquement dans les liens de ton menu et de vérifier que ce dernier existe est correspond à la session en cours lors du chargement d'une page. Ainsi, l'utilisateur aurra un sessionId différent par session web et sera obligé d'utiliser ton menu (mais il peut toujours se logger, aller sur une page, mettre la page en bookmark, aller sur une autre page, puis revenir grace au bookmark dans la page précédente, étant dans la même session celà fonctionnera).

    Une dernière chose, mais celà ne regarde que toi, c'est la pertinence de ce genre de comportement, mais comme je ne sais pas ce que tu veut faire ben je ne peut pas juger ...

Discussions similaires

  1. Probleme d'accès direct aux page jsf
    Par liquideshark dans le forum JSF
    Réponses: 5
    Dernier message: 23/10/2010, 18h38
  2. Interdir l'accès direct aux pages jsp
    Par S_ami dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 28/08/2010, 06h57
  3. Comment proteger contre l'acces direct aux pages?
    Par tetepro dans le forum Langage
    Réponses: 5
    Dernier message: 16/04/2008, 19h44
  4. [AJAX] Interdire accès direct aux pages PHP
    Par Nasky dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/07/2007, 17h28
  5. Enlever accès direct aux pages avec struts
    Par Verboz dans le forum Struts 1
    Réponses: 7
    Dernier message: 09/05/2007, 15h29

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