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