PageRenderTime 25ms CodeModel.GetById 18ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

/Docs/07-Implementacion/Source/trunk/EDUAR_actual/EDUAR/EDUAR_UI/Global.asax.cs

http://blpm.googlecode.com/
C# | 99 lines | 54 code | 12 blank | 33 comment | 6 complexity | 51e23a75fc123ad4ba206710bd1b51a6 MD5 | raw file
 1using System;
 2using System.IO;
 3using EDUAR_UI.Utilidades;
 4using System.Web;
 5using System.Web.Security;
 6using System.Security.Principal;
 7
 8namespace EDUAR_UI
 9{
10	public class Global : System.Web.HttpApplication
11	{
12
13		void Application_Start(object sender, EventArgs e)
14		{
15			// Código que se ejecuta al iniciarse la aplicación
16
17		}
18
19		void Application_End(object sender, EventArgs e)
20		{
21			//  Código que se ejecuta cuando se cierra la aplicación
22
23		}
24
25		void Application_Error(object sender, EventArgs e)
26		{
27			// Código que se ejecuta al producirse un error no controlado
28			//string error = "Se produjo un error: \n" +
29			//if (Server.GetLastError() != null)
30			//{
31			//    Application["CurrentError"] = Server.GetLastError().Message.ToString();
32			//    Application["CurrentErrorDetalle"] = Server.GetLastError().ToString();
33			//}
34			////Response.Redirect("~/Error.aspx", false);
35			//Server.Transfer("~/Error.aspx");
36		}
37
38		protected void Application_BeginRequest(Object sender, EventArgs e)
39		{
40			switch (Request.Url.Scheme)
41			{
42				case "https":
43					if (Request.Url.PathAndQuery.Contains("Public") || Request.Url.PathAndQuery.Contains("Default") ||
44						Request.Url.PathAndQuery.Contains("About") || Request.Url.PathAndQuery.Contains("Error"))
45					{
46						var path = "http://" + Request.Url.Host + Request.Url.PathAndQuery;
47						Response.Status = "301 Moved Permanently";
48						Response.AddHeader("Location", path);
49					}
50					else
51						Response.AddHeader("Strict-Transport-Security", "max-age=300");
52					break;
53				case "http":
54					if (Request.Url.PathAndQuery.Contains("Login") || Request.Url.PathAndQuery.Contains("Private"))
55					{
56						var path = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
57						Response.Status = "301 Moved Permanently";
58						Response.AddHeader("Location", path);
59					}
60					break;
61			}
62		}
63
64		void Session_Start(object sender, EventArgs e)
65		{
66			// Código que se ejecuta cuando se inicia una nueva sesión
67
68		}
69
70		void Session_End(object sender, EventArgs e)
71		{
72			// Código que se ejecuta cuando finaliza una sesión.
73			UIUtilidades.EliminarArchivosSession(Session.SessionID);
74			// Nota: el evento Session_End se desencadena sólo cuando el modo sessionstate
75			// se establece como InProc en el archivo Web.config. Si el modo de sesión se establece como StateServer 
76			// o SQLServer, el evento no se genera.
77			Session.Abandon();
78		}
79
80		//protected void Application_AuthenticateRequest(Object sender, EventArgs e)
81		//{
82		//    //Fires upon attempting to authenticate the use
83		//    if (!(HttpContext.Current.User == null))
84		//    {
85		//        if (HttpContext.Current.User.Identity.IsAuthenticated)
86		//        {
87		//            if (HttpContext.Current.User.Identity.GetType() == typeof(FormsIdentity))
88		//            {
89		//                FormsIdentity fi = (FormsIdentity)HttpContext.Current.User.Identity;
90		//                FormsAuthenticationTicket fat = fi.Ticket;
91
92		//                String[] astrRoles = fat.UserData.Split('|');
93		//                HttpContext.Current.User = new GenericPrincipal(fi, astrRoles);
94		//            }
95		//        }
96		//    }
97		//}
98	}
99}