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 :

Obliger l'utilisateur à passer par la page login


Sujet :

Struts 1 Java

  1. #21
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tu utilises Eclipse ?
    Si oui, dans le source du filtre, tu as une bande sur la gauche, tu double-clique sur la ligne voulue pour positionner le point d'arrêt.

    Si tu as mis tes pages dans un répertoire pages, peux-tu également montrer le web.xml ?

  2. #22
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Points : 67
    Points
    67
    Par défaut
    En fait je travail sous MyEclipse5.5 pour facilter .

    A signaler que j'ai mis le repertoir /pages directement sous le dossier WEB-INF.

    Voila mon web.xml :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     
     
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
     
        </init-param>
     
        <init-param>
     
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
     
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
     
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      <filter>
        <filter-name>ServletFilter</filter-name>
        <filter-class>iam.hiebrnate.ServletFilter</filter-class>
    </filter>
     
    <filter-mapping>
        <filter-name>ServletFilter</filter-name>
        <url-pattern>/pages/*</url-pattern>
    </filter-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
     
    </web-app>
    Ce que je pense c'est que dans le forword je dois mettre un truc du genre /page/success.jsp au lieu de /Success..jsp .

  3. #23
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Non, mets-le au directement sous WebContent (au même niveau que WEB-INF)

  4. #24
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Points : 67
    Points
    67
    Par défaut
    Bizzare maintenant il me dit que userLogin.jsp n'est pas disponible .

    En reflechissant ,je crois que je dois modifier les liens qui mènent aux pages cibles .

    Dans le forwording par exemple je dois mettre /page/success.jsp .

    Maintenant le dossier /pages et au meme niveau que le WEb-INF et sous le WEBRoot .

  5. #25
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Peux-tu montrer struts-config.xml ?

  6. #26
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Peux-tu montrer struts-config.xml ?
    Bon le fichier est un peu long je vous montre la partie concernant l'action login :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
     
    <struts-config>
      <data-sources/>
      <form-beans >
        <form-bean name="userLoginForm" type="com.iam.struts.form.UserLoginForm" />
        <form-bean name="capexetdForm" type="com.iam.struts.form.CapexetdForm" />
        <form-bean name="consultation1Form" type="com.iam.struts.form.Consultation1Form" />
        <form-bean name="modification1Form" type="com.iam.struts.form.Modification1Form" />
        <form-bean name="consulatation2Form" type="com.iam.struts.form.Consulatation2Form" />
        <form-bean name="consultation3Form" type="com.iam.struts.form.Consultation3Form" />
        <form-bean name="consultation4Form" type="com.iam.struts.form.Consultation4Form" />
        <form-bean name="modification2Form" type="com.iam.struts.form.Modification2Form" />
        <form-bean name="modification3Form" type="com.iam.struts.form.Modification3Form" />
        <form-bean name="modification4Form" type="com.iam.struts.form.Modification4Form" />
        <form-bean name="consultation5Form" type="com.iam.struts.form.Consultation5Form" />
        <form-bean name="consultation6Form" type="com.iam.struts.form.Consultation6Form" />
        <form-bean name="consultation7Form" type="com.iam.struts.form.Consultation7Form" />
        <form-bean name="modification5Form" type="com.iam.struts.form.Modification5Form" />
        <form-bean name="modification6Form" type="com.iam.struts.form.Modification6Form" />
        <form-bean name="chargeForm" type="com.iam.struts.form.ChargeForm" />
        <form-bean name="charge1Form" type="com.iam.struts.form.Charge1Form" />
        <form-bean name="addingForm" type="com.iam.struts.form.AddingForm" />
        <form-bean name="rootingForm" type="com.iam.struts.form.RootingForm" />
        <form-bean name="rooteForm" type="com.iam.struts.form.RooteForm" />
        <form-bean name="deleteForm" type="com.iam.struts.form.DeleteForm" />
        <form-bean name="modifyForm" type="com.iam.struts.form.ModifyForm" />
     
     
      </form-beans>
     
      <global-exceptions />
      <global-forwards />
      <action-mappings >
        <action
          attribute="userLoginForm"
          input="/userLogin.jsp"
          name="userLoginForm"
          path="/userLogin"
          scope="request"
          type="com.iam.struts.action.UserLoginAction">
          <forward name="success2" path="/Success2.jsp" />
          <forward name="mem" path="/userLogin.jsp" />
          <forward name="success1" path="/Success1.jsp" />
          <forward name="success3" path="/admin.jsp" />
          <forward name="failiure" path="/userLogin.jsp" />
          <forward name="success" path="/success.jsp" />
        </action>

  7. #27
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    userLogin.jsp est sous WebRoot ?

  8. #28
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    userLogin.jsp est sous WebRoot ?
    Oui.

    En gros l'arboressance de mes fichiers est la suivante :

    Racine: WebRoot

    Fils: images,WEB-INF,Pages,META-INF,userlogin.jsp

  9. #29
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Ta page se nomme userLogin.jsp ou userlogin.jsp ?
    (c'est une erreur de copie ?)

  10. #30
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Ta page se nomme userLogin.jsp ou userlogin.jsp ?
    (c'est une erreur de copie ?)
    Non c'est userLogin.jsp .

    J'ai l'impression que je suis entrain de trourner autour de la solution à cause d'un truc bete que j'ai oublier ,ça arrive souvent .

  11. #31
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Difficile de t'aider avec que des fragments...
    As-tu moyen de mettre tout le projet dans un zip et le mettre en ligne ?

  12. #32
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Difficile de t'aider avec que des fragments...
    As-tu moyen de mettre tout le projet dans un zip et le mettre en ligne ?
    Je viens d'uploder le projet sur ce lien,mais just à titre consultatif, car vous ne pourriez pas l'excuter vu qu'il y a une BD dérrière notamment pour le cas du login qui necessite une table user .

    link :

    http://www.sendspace.com/file/lkajrnmz

  13. #33
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    A ben c'est sûr qu'on aurait pu tourner en rond longtemps, le code que tu montres n'est pas celui que tu exécutes !
    Ta classe ServletFilter n'était pas conforme, ci-dessous la version modifiée (en rouge, ce qui est impératif)
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    package iam.hiebrnate;
    
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    public class ServletFilter implements Filter
    {
        @Override
        public void init(FilterConfig arg0) throws ServletException
        {
        }
    
        @Override
        public void destroy()
        {
        }
        
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
        {
            HttpServletRequest httpRequest = (HttpServletRequest) request;
            HttpServletResponse resp = (HttpServletResponse) response;
            HttpSession session = null;
    
            try
            {
                String uri = httpRequest.getRequestURI();
    
                session = httpRequest.getSession(false);
    
                if (uri.indexOf(httpRequest.getContextPath() + "/userLogin.do") == -1)
                {
                    if (session == null || session.getAttribute("AUTHENTIFICATION") == null)
                    {
                        resp.sendRedirect("/userLogin.jsp");
    
                    }
                    else
                        chain.doFilter(request, response);
    
                }
                else
                {
                    // C'est la demande de login, il faut poursuivre
                    chain.doFilter(request, response);
                }
            }
            catch (Exception e)
            {
                throw new ServletException(e);
            }
        }
    }

  14. #34
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Points : 67
    Points
    67
    Par défaut
    A ben c'est sûr qu'on aurait pu tourner en rond longtemps, le code que tu montres n'est pas celui que tu exécutes !
    AH non, le truc c'est qu'après avoir eu des problèmes avec mon code j'ai apporter quelques modifications histoire d'essayer et de tâtonner c'est le signe un peu du désespoir .

    Et j'ai oublié de remettre l'ancien code quand j'ai mis le dossier en ligne.

    Bon après rectification je me suis tenu au code que tu viens de me poster :

    1 er remarque :

    Je ne sais pas c'est quoi ce

    ?

    En tout cas il me génére une erreur et j'ai du le retirer du code .

    L'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    The method init(FilterConfig) of type ServletFilter must override a superclass method
    2ème remarque :


    J'accède maintenant à tout mes pages et j'ai plus l'ancien problème .

    Le truc nouveau c'est que j'ai plusieurs statuts d'utilisateurs: le parcoure que j’avais prévu pour un comptable peux déviée et accéder aux pages de l’administrateur, je crois que je dois essayer plusieurs objets AUTEHNTIFCATION pour gérer tout les privilèges des utilisateurs.

    Un grand merci à toi OButterlin , là les choses sont plus claires maintenant pour moi .

  15. #35
    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
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    L'annotation @Override permet de marquer la méthode comme étant dérivée d'une super classe (et si ce n'est pas le cas, le compilateur doit envoyer une erreur), mais il faut avoir une version 5 de java (ou plus).

    Pour l'autre problème, "AUTHENTIFICATION" ne représente qu'un nom en session sous lequel tu enregistres un objet. Rien ne t'empêche de mettre une Map ou une List sous ce nom...

    A+

Discussions similaires

  1. imprimer sans passer par la page de dialogue
    Par fadelghani dans le forum Langage
    Réponses: 5
    Dernier message: 27/03/2015, 17h03
  2. Acceder à une page ASP.NET sans passer par la case Login
    Par ehochedez dans le forum ASP.NET
    Réponses: 8
    Dernier message: 07/10/2010, 11h28
  3. eviter de passer par la page login
    Par mchicoix dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/12/2007, 14h41
  4. Réponses: 12
    Dernier message: 22/05/2006, 07h18
  5. Réponses: 4
    Dernier message: 05/02/2004, 19h18

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