Foros del Web » Programando para Internet » ASP Clásico »

Seguridad Por Usuarios

Estas en el tema de Seguridad Por Usuarios en el foro de ASP Clásico en Foros del Web. Tengo unas páginas que están restringidas por nombre de usuario y pasw dentro de cont.asp tengo: <%if request.form("usuario")="" then%> "aqui va el formulario con usuario ...
  #1 (permalink)  
Antiguo 07/04/2004, 03:03
 
Fecha de Ingreso: enero-2004
Mensajes: 50
Antigüedad: 20 años, 4 meses
Puntos: 0
Seguridad Por Usuarios

Tengo unas páginas que están restringidas por nombre de usuario y pasw

dentro de cont.asp tengo:

<%if request.form("usuario")="" then%>
"aqui va el formulario con usuario y password"
<%else%>
<!--"conexion con la base de datos"-->
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and pasw= '"&password&"'"
rs.Open sqltxt, oconn
if not rs.eof then
if rs("usuario")=usuario and rs("pasw")=password then
session("autorizacion")=1
id=rs("id")
response.redirect "prueba.asp?id="& id
end if
else
session("autorizacion")=-1
end if
rs.close
set rs=nothing
oconn.close
set oconn=nothing
if session("autorizacion")=-1 or session("autorizacion")="" then
response.redirect "cont.asp
end if
end if%>
</body>
</html>

Dentro de los ficheros de acceso restringido tengo:

prueba.asp

<% if session("autorizacion")<>1 then
response.redirect "cont.asp"

end if%>

Mi intención es que una vez autorizado, mientras el usuario no salga de la web no se le pida más la contraseña, pero me encuentro con que al hacer una paginación dentro de la página, al acceder a otras páginas me vuelve a pedir usuario y contraseña

Dim mostrar
Dim cant_paginas
Dim pagina_actual
Dim registro_mostrado
Dim I
mostrar= 5
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

id = request.querystring("id")
if id = "" then
response.redirect "cont.asp"
end if
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4
Dim RS
set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
sqlstr="select * from usuario where usuario="&id
RS.Open sqlstr, oConn,3,1
RS.PageSize = mostrar
RS.CacheSize = mostrar
cant_paginas = RS.PageCount

If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
%>

"aqui van los datos de la página y la conexion con BD"

<%
registro_mostrado = registro_mostrado + 1
RS.MoveNext
Loop
End If
%>
<%If pagina_actual > 1 Then %>
<a href="ptc.asp?eje=30&page=<%= pagina_actual - 1 %>"><< Back ]</a>

<%
End If
For I = 1 To cant_paginas
If I = pagina_actual Then%>
<%= I %>
<% Else%>
<a href="ptc.asp?eje=30&page=<%= I %>"><%= I %></a>

<%
End If
Next 'I
If pagina_actual < cant_paginas Then%>

<a href="ptc.asp?eje=30&page=<%= pagina_actual + 1 %>"> [ Next>>
<% End If %>

Si la variable de session es 1 ¿por qué al pasar a la página 2 o 3 me vuelve a pedir el usuario y el pasw? Además como la página de la contraseña está redirigida hacia la primera página de prueba.asp, no me permiter ver las demas páginas.


Gracias anticipadas a todos por vuestra ayuda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:10.