Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/12/2002, 18:42
Avatar de maestro
maestro
 
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 2 meses
Puntos: 1
Ni siquiera necesitas un campo en la base de datos y estar escribiendo en el , te vale con crear una variable de sesion o una cookie.

Esto iria en cada una de las paginas a proteger:

<%
Response.Buffer=True
if Session("nombre")="" then Session("nombre")="Sin Identificar"
if Session("ID")=0 then
Response.redirect("noaccess.asp")
end if
%>


Y esto seria el codigo de autentificacion:


<%
Dim oConn, rs, SQL, nombre, password

'Recogemos el formulario
nombre=Trim(Request.Form("Nombre"))
password=Trim(Request.Form("Password"))

'Response.write(nombre)
'Response.write(password)

'Si no lo ha enviado, es decir no hay nada en estas variables
'le presentamos el formulario

if nombre="" then
response.redirect("default.asp")
else

'Validamos su identidad
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("usuarios.mdb")
SQL="SELECT * FROM Usuarios WHERE nombre='"&nombre&"' AND Password='"&password&"'"

'Ejecutamos consulta
rs.open SQL,oconn,1,2

if rs.EOF then

'No existe ese usuario con esa contraseña
'Así que le negamos el acceso
' PONEMOS ID A CERO --&gt; NINGUN USUARIO TIENE ESTE IDENTIFICADOR
Session("ID")=Cint(0)
Response.Write("Lo siento, no existe ese usuario/contraseña.")
else

'Le mandamos a la pagina de bienvenida
' SALVAMOS EL ID DE ESTE USUARIO EN LA VARIABLE DE SESION
Session("ID")=CInt(rs.Fields("ID_Usuario"))
Session("nombre")=rs.Fields("nombre")
Response.Redirect("default.asp")
end if

end if
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net