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
Dans le Application Error, première ligne, je logue "APPLICATION ERROR"
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"); }
Et maintenant, voilà ma trace :
Je ne comprends donc absolument pas quelle est l'instruction qui provoque l'erreur...
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 suis pas contre un peu d'aide !
Merci d'avance
Partager