Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/06/2004, 07:00
yomesmo
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 21 años, 5 meses
Puntos: 1
Lo mejor es que controles los tiempos de conexión con variables de sesión, que la puedes relacionar directamente con el LOGIN. Las variables de sesión se declaran en su durablilidad en el global.ass, por defecto se van a la mierda a los 20 minutos.

Este es el código que por defecto te genera el Dreamweaver para este efecto y funciona perfectamente, espero te sirva:


<%
' *** Este es para restingir el acceso si no esta validado
MM_authorizedUsers="nivel_de_acceso"
MM_authFailedURL="pagina_de_redireccion_si_no_se_h a_validado.html"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthor ization"))>=1) Then
MM_grantAccess = true
End If
End If
If Not MM_grantAccess Then
MM_qsChar = "?"
If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
MM_referrer = Request.ServerVariables("URL")
if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
Response.Redirect(MM_authFailedURL)
End If
%>


Y este el de validar al usuario, recoge los datos de un formulario:


<%
' *** Validar usuario.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("login"))
If MM_valUsername <> "" Then
MM_fldUserAuthorization="oper_nivel_acceso"
MM_redirectLoginSuccess="index.asp"
MM_redirectLoginFailed="form_validacion.asp"
MM_flag="ADODB.Recordset"
set MM_rsUser = Server.CreateObject(MM_flag)
MM_rsUser.ActiveConnection = MM_bd_STRING 'Aqui debe ir el nombre de tu conexión a la base de datos
MM_rsUser.Source = "SELECT login, clave"
If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
MM_rsUser.Source = MM_rsUser.Source & " FROM operadores WHERE login='" & Replace(MM_valUsername,"'","''") &"' AND clave='" & Replace(Request.Form("clave"),"'","''") & "'"
MM_rsUser.CursorType = 0
MM_rsUser.CursorLocation = 2
MM_rsUser.LockType = 3
MM_rsUser.Open
If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
' username and password match - this is a valid user
Session("MM_Username") = MM_valUsername
session ("login") = CStr( MM_rsUser.Fields.Item("login").Value)

If (MM_fldUserAuthorization <> "") Then
Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization ).Value)

Else
Session("MM_UserAuthorization") = ""

End If
if CStr(Request.QueryString("accessdenied")) <> "" And false Then
MM_redirectLoginSuccess = Request.QueryString("accessdenied")
End If
MM_rsUser.Close
Response.Redirect(MM_redirectLoginSuccess)
End If
MM_rsUser.Close
Response.Redirect(MM_redirectLoginFailed)
End If
%>