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 :

JAAS module login protege trop.


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut JAAS module login protege trop.
    Bonjour, j'explique ma situation , je dev une appli J2EE, struts qui utilise un JAAS login module pour acceder à l application .
    mon struts config est configure de tel facon:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <security-constraint>
      <web-resource-collection>
        <web-resource-name>leSite</web-resource-name>
        <url-pattern>/jsp/agenda/*</url-pattern>
      </web-resource-collection>
    <login-config>
       <auth-method>FORM</auth-method>
        <form-login-config>
          <form-login-page>/jsp/gestagenda/login.jsp</form-login-page>
          <form-error-page>/jsp/gestagenda/loginFail.jsp</form-error-page>
        </form-login-config>
    </login-config>

    Pour ce connecter à l application, le user soit s'authentifier aupres de la base de données avec un identifiant et un password au travers de la page de login.

    j'aimerai ajouter un petit service permettant d'envoyer l'identifiant et le pass de l'utilisateur par mail, lorsque celui ci les a oubliés... pour cela je demande dez saisir une adresse mail, et si elle existe dans la base, je lui envoye un mail avec ces identifiants...

    Pour cela j 'ai creer un jsp qui se trouve dans /jsp/public/ qui n'est donc pas un repertoire proteger et qui peu donc etre vu par des utilisateur non identifier, jusqu ici tout va bien. Le vrai probleme que qu un user non -identifier peu acceder à une page du dossier /jsp/public mais impossible d'executer un action .do decrite dans le stuts config lorsque l'utilisateur n'est pas identifier... j'ai une action (SaveIdentifiantOublier.do qui doit decrit dans le struts config et qui doit se declanché et submit de ma jsp) .....

    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ page import="oracle.portal.provider.v2.render.PortletRenderRequest,           oracle.portal.provider.v2.http.HttpCommonConstants,           oracle.portal.provider.v2.ParameterDefinition,           oracle.portal.provider.v2.render.PortletRendererUtil,           oracle.portal.provider.v2.render.http.HttpPortletRendererUtil,           oracle.portal.provider.v2.event.EventUtils,           oracle.portal.utils.*,           oracle.portal.provider.v2.url.*"%>
    <script type="text/javascript">
      function setElem(formul, elem, typeAction)
      {
        formul.elements[elem].value=typeAction;
        return true;
      }
     
          function setElemBis(formul, elem, typeAction)
      {
        formul.elements[elem].value=typeAction;
        formul.submit();
      }
     
     
    </script>
    <%     
      PortletRenderRequest pReq = (PortletRenderRequest)request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
      String hidAction = "actionType";
      if (pReq!=null) hidAction =PortletRendererUtil.portletParameter(pReq, "actionType"); 
      String checkmail = "return setElem(this.form,'" + hidAction + "','checkmail')";
     
    %>
     
    <html>
        <head>
            <meta http-equiv="Content-Type"
                  content="text/html; charset=windows-1252"/>
            <title>login</title>
            <link rel="stylesheet" href="../../css/gestagenda.css" type="text/css"/>
        </head>
        <body><html:form action="/saveIdentifiantOublier" scope="request" method="post">
               <input type="hidden" name="<%=hidAction%>" value="error"/>
                <div align="center">
                    <img src="../../images/bandeau.jpg" width="970" height="82"
                         border="0" usemap="#Map" href="#"></img>
                </div>
                <br/>
                <br/>
                <div class="TitrePortlet1">
                    <bean:message key="titre.page.identifiantoublie"/>
                </div>
                <br/>
                <center>
                    <table width="400">
                        <tr>
                            <td>
                                <div class="cadreBord">
                                    <div class="titreCadreBord">
                                        <bean:message key="saisie.login.titreidentifiantoublie"/>
                                    </div>
     
                                    <div class="contenuCadreBlock">
                                        <table>
                                            <tr>
                                                <td align="left">
                                                    <bean:message key="saisie.login.email"/>
                                                </td>
                                                <td align="center">
                                                    <html:text property="email"
                                                               name="IdentifiantOublieFormBean"/>
                                                </td>
                                                <td colspan="2" align="right">
                                                    <input src="../../boutons/bt_valider.png"
                                                           type="image"
                                                           value="submit"
                                                           align="middle"
                                                           onclick="<%=checkmail%>"/>
                                                </td>
                                            </tr>
                                        </table>
                                    </div>
                                </div>
                                <br/>
                                <div class="error">
                                    <html:errors property="email"/>
                                </div>
                            </td>
                        </tr>
                    </table>
                </center>
                <script type="text/javascript">
                document.getElementById("email").focus();
                </script>
            </html:form></body>
    </html>

    Seulement impossible d'executer une action du struts config tant que je ne suis pas identifier......pourriez vous m 'aidez??? existe t'il un moyen d'executer un action sans etre authentifier
    .....

  2. #2
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 69
    Par défaut
    salut!

    Peux tu nous montrer votre web.xml configuration?

    Je pense que tu dois modifier le mapping de tes actions pour ne pas proteger les actions que l'utilisateur pour l'executer sans etre authentifié.

    Merci

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    ok voici mon web.config:

    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <description>Empty web.xml file for Web Application</description>
      <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>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      <session-config>
        <session-timeout>10</session-timeout>
      </session-config>
      <mime-mapping>
        <extension>html</extension>
        <mime-type>text/html</mime-type>
      </mime-mapping>
      <mime-mapping>
        <extension>txt</extension>
        <mime-type>text/plain</mime-type>
      </mime-mapping>
      <taglib>
        <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>http://jakarta.apache.org/struts/tags-html</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
      </taglib>
      <security-constraint>
      <web-resource-collection>
        <web-resource-name>leSite</web-resource-name>
        <url-pattern>/jsp/gestagenda/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
          <role-name>CR</role-name>
          <role-name>AS</role-name>
          <role-name>SE</role-name>
          <role-name>CD</role-name>
          <role-name>CR</role-name>
          <role-name>CM</role-name>
          <role-name>SR</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
       <auth-method>FORM</auth-method>
        <form-login-config>
          <form-login-page>/jsp/gestagenda/login.jsp</form-login-page>
          <form-error-page>/jsp/gestagenda/loginFail.jsp</form-error-page>
        </form-login-config>
    </login-config>
      <security-role>
        <role-name>CR</role-name>
      </security-role>
      <security-role>
        <role-name>AS</role-name>
        </security-role>
        <security-role>
        <role-name>SE</role-name>
        </security-role>
        <security-role>
        <role-name>CD</role-name>
        </security-role>
        <security-role>
        <role-name>SR</role-name>
        </security-role>
        <security-role>
        <role-name>CM</role-name>
      </security-role>
    </web-app>
    le truc, c'est que je crois bien que je ne définit null part quel ou quel action eszt protreger, il n'y a que mes page jsp qui semble proteger... (et apparement le toutes les actions du struts config egalement) ..mperci de l'aide!!

  4. #4
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 69
    Par défaut
    ok

    tes actions ne respectent pas ce pattern :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <url-pattern>/jsp/gestagenda/*</url-pattern>
    je veux dire est ce que la mapping de l'action qui envoie l'email dans le struts config ne commence pas par /jsp/gestagenda ?

    Merci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    non regarde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      <action path="/saveIdentifiantOublier"
                type="cnav.cram03.gestagenda.actions.SaveIdentifiantOublierAction"
                name="IdentifiantOublieFormBean" input="/jsp/public/IdentifiantOublier.jsp"
                scope="session" validate="true" >
          <forward name="success" path="/jsp/public/IdentifiantOublier.jsp"/>
        </action>

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 69
    Par défaut
    Tu ne pense pas à travailler avec une autre implémentation du JAAS?

    JGUARD par exemple.

Discussions similaires

  1. [XL-2002] VBA protect qui protege trop
    Par erictomcat dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 20/08/2010, 10h58
  2. JAAS et login-config
    Par riadhhwajdii dans le forum Sécurité
    Réponses: 0
    Dernier message: 05/10/2009, 11h28
  3. Problème du module login lors du changement de mot de passe
    Par MIC94 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 31/08/2006, 11h51
  4. [Struts + JAAS] methode login()
    Par romdelf dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/05/2006, 18h14
  5. [JAAS]Module d'authentification
    Par yanis97 dans le forum Sécurité
    Réponses: 3
    Dernier message: 10/07/2005, 19h20

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