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

ASP.NET Discussion :

Aide pour comprendre une trace dans le global.asax


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut Aide pour comprendre une trace dans le global.asax
    Bonjour,

    J'ai le problème suivant. Les utilisateurs se connectent via un portail (siteminder) à une application web (framework 3.5). Lorsqu'ils se connectent, ils arrivent directement sur la page d'erreur de l'application, mais ensuite la navigation fonctionne normalement.

    J'ai donc jeté un oeil dans le global asax, et ajouté quelques traces :
    Voilà le Session Start
    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
    void Session_Start(object sender, EventArgs e)
        {
            _logger.Trace("DEBUT SESSION START");
            try
            {
                try
                {
                    _logger.Trace("essaie TRY");
                    _logger.Trace("HttpContext.Current.Request.Headers[SM_USER] : " + (HttpContext.Current.Request.Headers["SM_USER"] != null ? "est null" : "est pas null"));
                    _logger.Trace("fin essaie TRY");
                }
                catch(Exception ex)
                {
                    _logger.Trace("Exception = " + ex.Message.ToString());
                }
                _logger.Trace("avant TRY");
                _logger.Trace("HttpContext.Current.Request.Headers[SM_USER] : " + (HttpContext.Current.Request.Headers["SM_USER"] != null ? "est null" : "est pas null"));
                _logger.Trace("TRY");
                if (HttpContext.Current.Request.Headers["SM_USER"] != null)
                {
     
                    string smUser = HttpContext.Current.Request.Cookies["SM_USER"].Value;
                    _logger.Trace("smUser :" + smUser);
     
                    // Create GenericPrincipal with authentication type "SiteMinder".
                    System.Security.Principal.GenericIdentity webIdentity = new System.Security.Principal.GenericIdentity(smUser, "SiteMinder");
                    System.Security.Principal.GenericPrincipal principal = new System.Security.Principal.GenericPrincipal(webIdentity, null);
                    _logger.Trace("SM_USER :" + smUser + "\n WebIdentity : " + webIdentity.Name + "\n Principal :" + principal.Identity.ToString());
     
                    HttpContext.Current.User = principal;
                    System.Threading.Thread.CurrentPrincipal = principal;
                    bool success = Tools.LoginManager.InitUserContext(smUser);
                    if (success)
                    {
                        if (Tools.LoginManager.CurrentUser == null)
                        {
                            ExceptionManager.RedirectToAccessDeniedPage();
                        }
                    }
                    else
                    {
                        ExceptionManager.RedirectToErrorPage();
                    }
     
                }
                else
                {
                    _logger.Trace("ELSE");
                    bool success = Tools.LoginManager.InitUserContext();
                    if (success)
                    {
                        _logger.Trace("SUCCESS IF");
                        if (Tools.LoginManager.CurrentUser == null)
                            ExceptionManager.RedirectToAccessDeniedPage();
                    }
                    else
                    {
                        _logger.Trace("SUCCESS ELSE");
                        ExceptionManager.RedirectToErrorPage();
                    }
                }
     
     
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                _logger.Trace("CATCH");
                if (ex.Class >= 20)
                {
                    ExceptionManager.Instance.LogError(ex);
                    ExceptionManager.RedirectToOfflinePage();
                }
                else
                {
                    throw;
                }
            }
     
            _logger.Trace("FIN SESSION START");
     
        }
    Dans le Application Error, première ligne, je logue "APPLICATION ERROR"

    Et maintenant, voilà ma trace :
    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
    [2011-05-27 09:31:38.7266] par 
    at : SessionStateModule.CompleteAcquireState => SessionStateModule.RaiseOnStart => global_asax.Session_Start
    Message :
    DEBUT SESSION START
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    [2011-05-27 09:31:38.9296] par 
    at : SessionStateModule.CompleteAcquireState => SessionStateModule.RaiseOnStart => global_asax.Session_Start
    Message :
    essaie TRY
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    [2011-05-27 09:31:38.9296] par 
    at : SessionStateModule.CompleteAcquireState => SessionStateModule.RaiseOnStart => global_asax.Session_Start
    Message :
    HttpContext.Current.Request.Headers[SM_USER] : est null
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    [2011-05-27 09:31:38.9296] par 
    at : SessionStateModule.CompleteAcquireState => SessionStateModule.RaiseOnStart => global_asax.Session_Start
    Message :
    fin essaie TRY
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    [2011-05-27 09:31:38.9296] par 
    at : SessionStateModule.CompleteAcquireState => SessionStateModule.RaiseOnStart => global_asax.Session_Start
    Message :
    avant TRY
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    [2011-05-27 09:31:38.9296] par 
    at : SessionStateModule.CompleteAcquireState => SessionStateModule.RaiseOnStart => global_asax.Session_Start
    Message :
    HttpContext.Current.Request.Headers[SM_USER] : est null
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    [2011-05-27 09:31:38.9296] par 
    at : SessionStateModule.CompleteAcquireState => SessionStateModule.RaiseOnStart => global_asax.Session_Start
    Message :
    TRY
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     
     
    [2011-05-27 09:31:39.0390] par 
    at : HttpApplication.RaiseOnError => EventHandler.Invoke => global_asax.Application_Error
    Message :
    APPLICATION ERROR
    Je ne comprends donc absolument pas quelle est l'instruction qui provoque l'erreur...
    Je ne suis pas contre un peu d'aide !

    Merci d'avance

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Sur le moment,on ne voit pas .... jusqu'à qu'on découvre QUE TES TESTS DE NULLITES SONT INVERSES.

    (cela écrit : "est null" quand ce n'est pas le cas).

    Relis les traces en fonction de cela, ce sera peut être plus clair !

    Ensuite vire toutes ces traces inutiles et trace à partir de la lecture des Cookies.

    Je soupçonne HttpContext.Current.Request.Cookies["SM_USER"] de retourner null.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut
    Je ne trouve même pas de smiley adapté...

    Effectivement, mettre les tests dans le bon sens, ça peut aider...MERCI

    Je m'y replonge

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] Aide pour comprendre une erreur de compilation
    Par SimoBenz dans le forum Free Pascal
    Réponses: 7
    Dernier message: 05/12/2006, 18h43
  2. Réponses: 4
    Dernier message: 18/11/2006, 22h58
  3. Aide pour insérer une frame dans un include
    Par ideal dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2006, 11h05
  4. Besoin d'aide pour afficher une image dans un applet
    Par argon dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 19/01/2006, 19h45
  5. besoin d'aide pour intégrer une entité dans un MCD
    Par barkleyfr dans le forum Schéma
    Réponses: 17
    Dernier message: 13/10/2005, 13h29

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