begin process at 2010 02 10 14:29:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Système

 > 

Sécurité

 > 

Problème avec l'autentification Forms


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec l'autentification Forms

mardi 1 avril 2008 à 23:01:32 | Problème avec l'autentification Forms

Jean_Marc_1968

Salut à toutes et à tous,

Sur un site j'ai utilisé le LoginWizard avec le RememberMe.

Sur certains postes (sous XP et IE6), tout se passe pour le mieux, mais sur d'autres (aussi sous XP et avec IE6), si l'option RememberMe est cochée, lorsqu'un utilisateur se connecte, il revient imperturbablement sur le login, alors que sur d'autres postes la redirection se fait bien.
Le problème se produit donc quand le LoginWizard.RememberMeSet est à true dans le FormsAuthentication.RedirectFromLoginPage(LoginWizard.UserName, LoginWizard.RememberMeSet);

Une idée de ce qui pourrait se passer ?

Merci de vos z'avis z'avisés,
Jean-Marc




Voici les codes de ma page de Login :

<%@PageLanguage="C#"MasterPageFile="~/Reno.master"AutoEventWireup="true"CodeFile="Login.aspx.cs"Inherits="Public_Login"Title="Login" %>
<asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolderPages"Runat="Server">
<asp:LoginID="LoginWizard"runat="server"
                     TitleText="Connexion à l'Intranet"
                     UserNameLabelText="Login :"
                     UserNameRequiredErrorMessage="Un login est requis."
                     PasswordLabelText="Mot de passe :"
                     PasswordRequiredErrorMessage="Un mot de passe est requis."
                     LoginButtonText="Se connecter"
                     PasswordRecoveryText="Mot de passe oublié ?"
                     RememberMeText="Retenir mes informations de connexion"
                     FailureText="Votre tentative de connexion a échoué. Réessayez." 
                     PasswordRecoveryUrl="~/Public/EnvoiPass.aspx" 
                     RememberMeSet="True" 
                     CssClass="menuNavigation" 
                     OnAuthenticate="LoginWizard_Authenticate"
                     DisplayRememberMe="False"
                     >
</asp:Login>
<asp:LabelID="Label1"runat="server"Font-Size="Small"ForeColor="InfoText"
Width="265px"></asp:Label>
<asp:TextBoxID="Msg"runat="server"BackColor="Transparent"BorderStyle="None"EnableViewState="False"
Height="100%"ReadOnly="True"TextMode="MultiLine"Width="100%"></asp:TextBox>
</
asp:Content>
<
asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolderSansAjax"Runat="Server">
</
asp:Content>




Le CodeBehind :

using

System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public
partial class Public_Login : System.Web.UI. Page
{
   protected void Page_Load( object sender, EventArgs e)
   {
      #region Récupération du timeout des Froms du web.config et création de la string delai avec ce temps
                  System.Web.Configuration.
AuthenticationSection authSection = (System.Web.Configuration. AuthenticationSection )
                  ConfigurationManager
.GetSection( @"system.web/authentication" );
                  TimeSpan timeOut = authSection.Forms.Timeout;
                  string delai = null ;
                  if (timeOut.Days>0) 
                  {
                     delai += timeOut.Days.ToString() +
" jour" ;
                     if (timeOut.Days > 1)
                     {
                        delai +=
"s" ;
                     }
                     if (timeOut.Hours > 0 && timeOut.Minutes > 0)
                     {
                        delai +=
", " ;
                     }
                     
else if (timeOut.Hours > 0 || timeOut.Minutes > 0)
                     {
                        delai +=
" et " ;
                     }
                  }
                  if (timeOut.Hours > 0)
                  {
                     delai += timeOut.Hours.ToString() +
" heure" ;
                     if (timeOut.Hours > 1)
                     {
                        delai +=
"s" ;
                     }
                     if (timeOut.Minutes > 0)
                     {
                        delai +=
" et " ;
                     }
                  }
                  if (timeOut.Minutes > 0)
                  {
                     delai += timeOut.Minutes.ToString() +
" minute" ;
                     if (timeOut.Minutes > 1)
                     {
                        delai +=
"s" ;
                     }
                  }
      #endregion
      Msg.Attributes.Add( "style" , "overflow :hidden" );
      if (LoginWizard.DisplayRememberMe)
      {
         Label1.Text =
"L'option \"Retenir mes informations\" permet de ne pas devoir réencoder votre login et votre mot de passe durant" + delai + " après votre dernière manipulation." ;
         Label1.Visible =
true ;
      }
      else
      {
         Label1.Visible =
false ;
         LoginWizard.RememberMeSet =
false ;
      }
   }

   protected void LoginWizard_LoggedIn( object sender, EventArgs e)
   {
      MembershipUser Utilisateur = Membership .GetUser(LoginWizard.UserName);
      Session[
"UserID" ] = Utilisateur.ProviderUserKey.ToString();
   }

   protected void LoginWizard_Authenticate( object sender, AuthenticateEventArgs e)
   {
      try
      {
         if ( Membership .ValidateUser(LoginWizard.UserName, LoginWizard.Password))
         {
            if (! string .IsNullOrEmpty(Request.QueryString[ "ReturnUrl" ]))
            {
               FormsAuthentication .RedirectFromLoginPage(LoginWizard.UserName, LoginWizard.RememberMeSet);
            }
            else
            {
            FormsAuthentication .SetAuthCookie(LoginWizard.UserName, LoginWizard.RememberMeSet);
            }
         }
      }
      catch ( Exception error)
      {
         LoginWizard.Visible = false ;
         Label1.Visible =
false ;
         Msg.Text = error.Message;
      }
   }
}
lundi 7 avril 2008 à 15:16:06 | Re : Problème avec l'autentification Forms

Jean_Marc_1968

Je viens de faire un constat qui pourrait éventuellement s'avérer utile :
Le problème se produit sur Internet Explorer 7 mais pas sur Internet Explorer 6.

Si ça peut aider et donner une idée à qqn quant à savoir pourquoi ce problème se produit et comment le résoudre ...

Parce que je n'ai toujours pas la solution à ce problème,

Merci de vos z'avis z'avisés,
Jean-Marc
lundi 7 avril 2008 à 16:15:56 | Re : Problème avec l'autentification Forms

Jean_Marc_1968

Désolé, ce que j'ai écris dans le post précédent n'est pas tout à fait vrai.
Je viens de constater que dans certains cas cela se produit avec IE6 aussi.
Et j'ai constaté que je User est bien connecté, mais qu'il n'est pas redirigé. Le LoginWizard est remise à 0, mais le menu apparaît et le lien "déconnexion" aussi.

Pourquoi la redirection ne fonctionne-t-elle pas ?
Je ne sais pas.


Cette discussion est classée dans : system, timeout, delai, if, loginwizard


Répondre à ce message

Sujets en rapport avec ce message

modif timeout dans web.config non pris en compte [ par equinoxe83 ] Bonjour à tous,j'ai un Pb de deconnexion au bout de 20 mn que je n'arrive pas à régler.C'est un site intranet utilisé par une dizaine de personnes. Je DropDownList changer la couleurs des items [ par Cipoli ] Bonjour à vous tous Je m'en remet une fois encore à vous.Actuellement je cherche à changer la couleur de chaque item d'une dropdownlist sous asp.net 1 Error Timeout [ par TobTob ] Bonjour à tous, j'ai une application développée en ASP.NET avec une base SQL Server 2003. Au chargement d'une de mes pages j'obtiens l'erreur suivante Controle Utilisateur hérité du gridview [ par lolowan ] Bonjour,J'ai crée une librairie avec un contrôle utilisateur dérivant du GridView Voici son code using System; using System.Collections.Generic; using probleme d'affichage [ par mahaabdallah ] Bonjour tout le monde,J'utilise Visual Web Developer 2005 pour afficher une base de connaissance qui appartenait à un ancien serveur pour la faire mig tableau a remplir [ par tazagaga ] bonjour a tous voila je suis sur un projet et je suis debutant en C # et tout cequi concerne le .net alor ma page est en aspx.cs j'ai crée une co message d'erreur [ par jeanny ] lorsque j'execute ma page Asp avec le code ecrit en vb, il envoie un message d'erreur:"Object reference not set to an instance of an object."et l'erre Suppression d'une ligne dans un Gridview [ par ric_ross ] Bonjour les Fondus !!! En fait j'ai perdu plusieurs heures cet apres midi sur ce probleme qui me dépasse : 1_j'ai une SQLDataSource avec un s Ajout d'un rôle [ par dona23 ] Hello,Je suis actuellement étudiant et je développe un site web en asp.net pour une école et je me retrouve face à une question que je me pose: Puis-j


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales