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

Autentificación de Usuarios de las FAQ

Estas en el tema de Autentificación de Usuarios de las FAQ en el foro de ASP Clásico en Foros del Web. Hola... Estoy por montar un nuevo portal para la intranet que manejo. Quiero hacerlo de tal forma que dependiendo el usuario se muestre una versión ...
  #1 (permalink)  
Antiguo 09/10/2003, 11:43
Avatar de domi  
Fecha de Ingreso: septiembre-2003
Ubicación: Bogotá D.C
Mensajes: 61
Antigüedad: 20 años, 9 meses
Puntos: 0
Autentificación de Usuarios de las FAQ

Hola...
Estoy por montar un nuevo portal para la intranet que manejo. Quiero hacerlo de tal forma que dependiendo el usuario se muestre una versión del portal especial, según quien se loguee.
Buscando en las FAQ encontré un sitio donde te hablan de autentificación de usuarios, lo bajé y lo probé, incluso haciéndole algunos cambios en la base de datos, puesto que la base de datos que deseo consultar no es acces sino SQL. Pero no he logrado hacerlo andar. El error que me da es el siguiente:

Error Type:
Microsoft JScript compilation (0x800A03F7)
Unterminated string constant
C:\INETPUB\WWWROOT\PRUEBAS\VER2\../../Connections/Login.asp, line 2, column 41

Al ir a la línea 2 encuentro el include que realicé para la conexión a la base de datos Login.
<!--#include file="../../Connections/Login.asp" -->

Seguramente el error está en que no he arreglado bien el código para adaptarlo a SQL, voy a colocar el código de la página login2.asp a ver si me pueden ayudar a encontrar qué está mal



<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!--#include file="../../Connections/Login.asp" -->
<%


Response.Expires = -1000
Response.Buffer = True

Dim Error_Msg

login = Request.Form("login")
If login = "login_again" Then
Session("UserLoggedIn") = ""
ShowLogin
Else
If Session("UserLoggedIn") = "true" Then
AlreadyLoggedIn
Else
If login = "true" Then
CheckLogin
Else
ShowLogin
End If
End If
End If

Sub ShowLogin
Response.Write(Error_Msg & "<br>")
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<form name=form1 action=file:///C|/Domi/Version2/protectedpage.asp method=post>
User Name : <input type=text name=Nombres><br>
Password : <input type=Password name=Password><br>
<input type=hidden name=login value=true>
<input type=submit value="Login">
</form>

</body>

<%
End Sub

Sub CheckLogin
Dim Conn, cStr, sql, RS, Nombres, Password
Nombres = Request.Form("Nombres")
Password = Request.Form("Password")
Set Conn = Server.CreateObject("ADODB.Connection")
cStr = "dsn=Call Center;uid=intranet;pwd=carlosja;"
Conn.Open(cStr)
sql = "SELECT * FROM dbo.personal where Nombres = '" & LCase(Nombres) & "'"
sql = sql & " and Password = '" & LCase(Password) & "'"
Set RS = Conn.Execute(sql)
If RS.BOF And RS.EOF Then
Error_Msg = "Login Failed. Try Again."
ShowLogin
Else
Session("UserLoggedIn") = "true"
Response.Redirect "protectedpage2.asp"
End If
End Sub
%>
</html>

La otra cosa que cambié fue los nombres de los campos de la tabla por que en mi caso se llaman Password y Nombres.

****

Si saben de algo que me pueda servir para realizar esto sería buenísimo, ya que además de loguearse quiero que se le muestre solo lo que a su perfil se le debe mostrar, así que lo que hay es trabajo! Gracias
__________________
¡Que Tengas Suertecita!
  #2 (permalink)  
Antiguo 09/10/2003, 14:19
Avatar de domi  
Fecha de Ingreso: septiembre-2003
Ubicación: Bogotá D.C
Mensajes: 61
Antigüedad: 20 años, 9 meses
Puntos: 0
...
__________________
¡Que Tengas Suertecita!
  #3 (permalink)  
Antiguo 09/10/2003, 14:27
Avatar de domi  
Fecha de Ingreso: septiembre-2003
Ubicación: Bogotá D.C
Mensajes: 61
Antigüedad: 20 años, 9 meses
Puntos: 0
Bueno ya encontré otro link publicado en este foro que lleva a aspfacil, http://www.aspfacil.com/articulos/cv_usuarios.asp ahora estoy probando con este codigo. Y decidí, mientras resulta la prueba, usar la base de datos en acces. Pero la pagina que procesa el formulario de ingreso me da el siguiente error:


Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.
/Pruebas/VER2/aspfacil/alta.asp, line 39

Hay problemas para hacer el update del registro:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Dim nombre, apellidos, cargo, operacion, login, password
Dim correcto
Dim oConn, rs, SQL
%>
<%
nombre=Request.Form("nombre")
apellidos=Request.Form("apellidos")
login=Request.Form("login")
password=Request.Form("password")
cargo=Request.Form("cargo")
operacion=Request.Form("operacion")

correcto=True

if nombre="" then correcto=False end if
if apellidos="" then correcto=False end if
if password="" then correcto=False end if
if login="" then correcto=False end if
if cargo="" then cargo=False end if
if operacion="" then operacion=False end if

if correcto then

set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("Usuarios.mdb")
SQL="SELECT * FROM Usuarios WHERE (Login='"&login&"');"
set rs=oConn.Execute(SQL)

if not rs.EOF then
Response.Write("El nombre de usuario ya está siendo utilizado. ")
Response.Write("Por favor, escoja otro.")
else
SQL="INSERT INTO Usuarios " & _
"(login, password, nombre, apellidos, cargo, operacion)"
SQL=SQL & " VALUES ('"&login&"', '"&password & _
"', '"&nombre&"','"&apellidos&"','"&cargo&"','"&operac ion&"');"
oConn.Execute(SQL)
Response.Write("Gracias por registrarte, "& nombre)
end if

rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
else

Response.Write("¡Datos incorrectos!")
end if
%>



La parte q hace este update es:

else
SQL="INSERT INTO Usuarios " & _
"(login, password, nombre, apellidos, cargo, operacion)"
SQL=SQL & " VALUES ('"&login&"', '"&password & _
"', '"&nombre&"','"&apellidos&"','"&cargo&"','"&operac ion&"');"
oConn.Execute(SQL)
Response.Write("Gracias por registrarte, "& nombre)
end if




***
BUENO VOY A SEGUIR VIENDO A VER SI ME SALE, GRACIAS.
__________________
¡Que Tengas Suertecita!
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 19:16.