ASP - Ayuda ASP... Urgente!!

 
Vista:

Ayuda ASP... Urgente!!

Publicado por Makarenna (7 intervenciones) el 12/10/2007 04:14:04
Hola amig@s: Tengo el siguiente codigo para validar perfil de usuario:

<%@ Language=VBScript %>
<%
session("autorizacion")=-1
Dim usuario, password, oConn, RS, nombre
'Primero nos fijamos si ambos campos fueron completados.
'Si no se cumple, redireccionamos a Archivo1.html
If Request.Form("usuario") = "" OR Request.Form("password") = "" then
Response.Redirect "Pagina_Principal.html"
Else
'Guardamos los datos del Form en variables y evitamos la comilla simple
usuario = Trim(Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","''")
password = Replace(password,"'","''")

'Conectamos a nuestra BD.
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open "conexion"

'Seleccionamos de la tabla solo los registros que concuerden con el usuario del Form.

usuario=UCase(""& usuario &"")

sql = "SELECT * FROM Usuarios WHERE usuario = '"& usuario &"'"
Set RS = Server.CreateObject ("ADODB.RecordSet")
RS.Open sql, oConn

'Si el valor EOF (fin de la tabla elegida) es verdadero, no existe el usuario.
If (RS.EOF = true) then
Response.Redirect "datoserroneos2.html"

ElseIf RS.Fields("password") = password then 'Si el campo de la tabla es igual a nuestra

variable, estas logueado.
nombre = "SELECT usuario FROM Usuarios WHERE usuario = '"& usuario &"'"

'Interrogo a la base de datos para saber si el usuario es administrador o no, para llevarlo a la

pagina siguente
sqla = "SELECT tipo_perfil FROM Usuarios WHERE usuario = '"& usuario &"'"
Set RSa = Server.CreateObject ("ADODB.RecordSet")
RSa.Open sqla, oConn

if (""& rsa("tipo_perfil")&"")="Administrador" then
session("autorizacion")=1
Response.Redirect "Usuarios_Registrados_Adm.asp?usuario=" & rs("usuario")
else
if (""& rsa("tipo_perfil")&"")="Tecnico" then
session("autorizacion")=1
Response.Redirect "Usuarios_Registrados_Tec.asp?usuario=" & rs("usuario")
else
session("autorizacion")=1
Response.Redirect "Usuarios_Registrados_Ins.asp?usuario=" & rs("usuario")
end if
end if

Else 'Otra cosa, seria cuando el password no es la que seleccionamos.
Response.Redirect "datoserroneos.html"
End If

'Limpiamos y cerramos.
RS.Close
oConn.Close
Set RS = Nothing
Set RSa = Nothing
Set oConn = Nothing

end if

%>

Si se fijan, tengo 3 tipos de usuarios con sus respectivas paginas de acceso, lo que deseo es el codigo para que cuando naveguen por esas paginas y sus menus (o subpaginas si asi se puede llamar) mantengan el nombre de usuario y luego de terminar de navegar desconectar dicho usuario. Espero me puedan ayudar. Desde ya muchas gracias.

Cariños
Maka
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda ASP... Urgente!!

Publicado por fabian (58 intervenciones) el 17/10/2007 17:54:20
que tal Makarenna, no sé si entendí bien lo que dijiste, pero si querés mantener información importante entre páginas, lo mas conveniente es usar variables de sesion, como la que usas al principio de tu código.

session("autorizacion")=-1

esa variable, una vez creada, permanece activa mientras navegas distintas pàginas(siempre y cuando sea en la misma ventana) y se elimina cuando cerrás la ventana.
Además podés ayudar a la variable, usando cookies.

buscá en google mas referencias sobre eso.

Saludos

Fabian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar