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
<%@ 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
0