miércoles, 29 de agosto de 2007

Validando sesión mediante archivo master

El siguiente código nos permite que todos los archivos que estén relacionados con nuestro archivo master, estén validados por sesión. Y cuando queramos que sólo algunos archivos no estén validados por sesión entonces utilizaremos un array especificando qué archivos no se validarán.

El siguiente código deberá estar contenido en el archivo master que estemos utilizando.



Sub Page_Init()
   Dim BlnValidarSesion As Boolean = True
   Dim StrPagesNotToValidateSession() As String = {"login.aspx", "recuperarpassword.aspx", "registro.aspx"}
   For Each StrPage As String In StrPagesNotToValidateSession
      If StrPage = StrPageName Then BlnValidarSesion = False
   Next
   If BlnValidarSesion Then
    ValidateSession()
   End If
End Sub

Sub ValidateSession()
   Dim strDoLoginURL As String = "login.aspx?redirect=" & Server.UrlEncode(Request.ServerVariables("Script_Name").Substring(Request.ServerVariables("Script_Name").LastIndexOf("/") + 1))
   If Len(Request.QueryString.ToString()) > 0 Then
      strDoLoginURL += "?" & Server.UrlEncode(Request.QueryString.ToString())
   End If
   If Session("Usuario") = Nothing Then Response.Redirect(strDoLoginURL)
End Sub

No hay comentarios: