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

Servlets/JSP Java Discussion :

Problème de forward sur servlet Java/JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 14
    Points
    14
    Par défaut Problème de forward sur servlet Java/JSP
    Bonjour à tous !

    Mon appli doit vérifier si l'utilisateur fait partie d'un groupe AD pour autoriser son accès.
    Lorsque l'on arrive sur mon index.jsp, si on a pas fait la vérif on est redirigé vers le servlet GroupeUtilisateur.
    Ce servlet va regarder la session connectée pour en sortir l'utilisateur, puis retourner l'info sur index.jsp.

    Ca fonctionne bien uniquement s'il plante une première fois .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <body> 
    	<div class ="err"> <c:out value="${sessionScope.message}"/> </div> 				<!-- Affichage des messages d'erreur en cas de problème de mise à jour de BDD --> 
     
    	<c:set var = "auth" scope = "session" value = "${sessionScope.autorisation}"/>  <!-- Récupération de l'autorisation pour la session -->
     
    	<!--
    	<div class ="err"> Log Autorisation : [<c:out value = "${auth}"/>] </div>
    	<div class ="err"> Log Autorisation sans var : [<c:out value = "${sessionScope.autorisation}"/>] </div>	
    	-->
    	<!--  si la valeur auth est vide c'est que l'on a accédé à la page avant d'être passé par le servlet de contrôle AD GroupeUtilisateur, on renvoi dessus -->	
    	<c:choose>
     
    		<c:when test = "${empty auth}">		
    			<div class ="err"> Pas d'autorisation on redirige <c:out value="${sessionScope.autorisation}"/> </div>
    			<script language="javascript"> document.location.href="./GroupeUtilisateur/" </script>
    		</c:when>    
     
    		<c:when test =  "${!fn:contains(auth, 'Thanact-Admin') && !fn:contains(auth, 'Thanact-User')}"> 
    				<div class ="err">Vous n'êtes pas habilité à utiliser cet écran. <br/> Vous pouvez en faire la demande en envoyant un message à <a href="mailto:dsi-dev">dsi-dev</a>  -  [<c:out value = "${auth}" />]</div>
    				<br/>
    				<input type="button" name="back" value="Retour" onClick="parent.location='/Thanact/index.jsp'" class="buttonGrey">
    		</c:when>
    Ensuite voici mon GroupeUtilisateur:

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public class GroupeUtilisateur extends HttpServlet{ 
     
    	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
    	{
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
     
    		Connection connBDUtil = null;
     
    		String autorise = "";
    		autorise = CheckAuth.isAllowed(request, response, "IML-Thanact-Admin;IML-Thanact-User", "REFERENT", "Application de contrôle des accès au DPI");
     
    		if(autorise.contains("IML-Thanact-Admin") || autorise.contains("IML-Thanact-User")) 
    		{
    			HttpSession session = request.getSession();
    			/* Mise en session d'une chaîne de caractères */
    			session.setAttribute( "autorisation", autorise );			
    			String nextJSP = "/index.jsp";			
    			RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);			
    			dispatcher.forward(request,response);				
    		}
    	}
    }

    Et le noeud du problème vient je pense de la méthode CheckAuth.isAllowed
    C'est un bout de programme commun à plusieurs appli, je ne l'ai pas écrit.
    Il va regarder dans le auth quel est le nom du user.
    Le problème c'est que la première fois il est 'null' et qu'il le set. Je pense que c'est cette passe qui pose problème mais je ne vois pas comment l'éviter:

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	       String auth = request.getHeader("Authorization");
     
    	       if (auth == null)
    		{
    			response.setStatus(response.SC_UNAUTHORIZED);
    			response.setHeader("WWW-Authenticate", "NTLM");
    			response.flushBuffer();
    			return "KO" ;
    		}		
     
    		if (auth.startsWith("NTLM "))
    {//verif accès}

    Si je regarde mes traces avec un print de auth je le vois une fois à null puis une seconde fois avec NTMxxxxxxx.
    Je ne sais même pas à quel moment il le rappelle ...

    J'espère que vous pourrez me décoincer, je patine depuis plusieurs jours/semaine !

    Merci

  2. #2
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juin 2012
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Personne ?

Discussions similaires

  1. Problème d'affichage sur la page jsp
    Par leara500 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 02/10/2019, 12h18
  2. un conseil sur servlet et JSP
    Par 18Marie dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 01/08/2006, 11h03
  3. [Info][JSP] achat livre sur les servlets et jsp
    Par mealtone dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 24/10/2005, 11h14
  4. [JSP] Problème avec forward et param
    Par seb55555 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 13/12/2004, 12h13
  5. [Eclipse][Java]Problème de compilation sur CTRL+S
    Par ZeKiD dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 27/05/2004, 11h49

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