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

duda sobre como poner contraseña en ciertas paginas ???

Estas en el tema de duda sobre como poner contraseña en ciertas paginas ??? en el foro de ASP Clásico en Foros del Web. Pues bueno ya tengo mi web hecha ahora solo me falta indicarle que en ciertas paginas me pida un usuario y contraseña para que pueda ...
  #1 (permalink)  
Antiguo 27/08/2007, 15:58
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años
Puntos: 0
duda sobre como poner contraseña en ciertas paginas ???

Pues bueno ya tengo mi web hecha ahora solo me falta indicarle que en ciertas paginas me pida un usuario y contraseña para que pueda verlas pero no se como
encontre algo pero no le entiendo bien

Liga

por ejemplo si tengo en mi menu esto:

<li><a href="regproyecto1.asp" target="_self">Registro de Proyectos1</a></li>
<li><a href="regproyecto2.asp" target="_self">Registro de Proyectos2</a></li>


y en login.asp tengo donde pide el user y pass
como le puedo hacer para que al momento de darle click en esa opcion me pida el user y pass y al estar registrado pueda entrar en mis otras paginas?? y asi si entra en reg de proy2 me pida un user y pass y si esta registrado pues q pueda ver loq ue hay en esa pagina y las demas

como le puedo hacer????

graxias!
__________________
" Recuerda , estas donde debes estar ..."
  #2 (permalink)  
Antiguo 28/08/2007, 01:39
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: duda sobre como poner contraseña en ciertas paginas ???

En cada una de tus páginas restringidas pon esto al inicio de la página (o el nombre de variable que se te ocurra):

if session("user_login") = "" then response.redirect("login.asp")


donde login.asp es una página HTML donde hay un formulario con dos campos (usuario y contraseña) y un boton de acceso (algo parecido a lo que dice la página que pones arriba con la funcion MostrarFormulario)

Una vez que el usuario pulsa el boton de acceso y haya rellenado los campos de usuario y contraseña, esta lo envia a alguna página de comprobación en asp donde rellenas la variable de sesion user_login con el valor correspondiente (que puede ser el id del usuario, o sus permisos). Cuando el usuario vuelva a la página restriguida pasará correctamente la condición.

En esta página tambien tienes un ejemplo.

Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #3 (permalink)  
Antiguo 28/08/2007, 14:50
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años
Puntos: 0
Re: duda sobre como poner contraseña en ciertas paginas ???

mira tammander esto es lo que tengo aver si estoy bien ?:
Código:
sUser = Request.Form("Usuario")
sPwd = Request.Form("Password")
		
set cn= server.createobject("ADODB.Connection")
cn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("\database\"+"usuarios.mdb") & ";" & "PWD="
set rs= server.createobject("ADODB.Recordset")
sQuery = "Select * From usuarios where username = '" & sUser & "'"
rs.Open sQuery,cn
	
If rs.BOF and rs.EOF then 
Application("ValidUser") = 1
Response.Redirect("login.asp")
Else
if trim(sPwd) = trim(rs.fields("password").value) then 
	Application("ValidUser") = 0
	Session("User")=sUser
	Session("Pwd")=sPwd
			
    if trim(sUser) =  trim(rs.fields("username").value)then
     = MUESTRO MI FORMULARIO =
   end if
else
  Application("ValidUser") = 1
  Response.Redirect("login.asp")
			
 end if 
End If
	
Rs.Close
Set rs = Nothing	
cn.close
set cn = Nothing


ESTOY BIEN ???



en mi login.asp tengo esto:

Código:
<form name="formLogin" method="POST" action="ValUser.asp" id="frmsol">
<label for="usuario">Usuario:</label><br /><input type="text" name="Usuario" maxlength="50"><br />
<label for="contrasena">Contraseña:</label><br /><input type="password" name="Password" maxlength="10"><br />
<input name="entrar" type="submit" id="entrar" onclick="valida();" value="Entrar">
   </form>
y lo que tengo en una opcion de mi menu es que al darle click se vaya a login cada vez que entre ahi pero algo hago mal que no me dice si ya esta autenticado
sino que siempre me pide login

asi lo llamo desde el menu:

<li><a href="login.asp" target="_self">Registro de Proyectos</a></li>
__________________
" Recuerda , estas donde debes estar ..."
  #4 (permalink)  
Antiguo 29/08/2007, 04:13
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: duda sobre como poner contraseña en ciertas paginas ???

La variable de aplicación ValidUser no se como la usas pero no tiene sentido a nivel de usuario. Las variables de aplicación sirven a nivel de aplicación (para todos los usuarios). Para usar variables globales a nivel de usuario (para un solo usuario, el activo, el que ha abierto la sesión, no la aplicación) usa session.

Con esto quiero decir que basta con Session("User") para chequear en las páginas restringidas si el usuario se ha logeado.

if session("User") = "" then response.redirect("login.asp")

Esta sentencia anterior colocala en cada una de las páginas restringidas, al inicio. Antes de hacer cualquier otra operacion. Evitará consumo del servidor innecesario.

Otra cosa que deberias hacer es controlar lo que te venga de las variables del formulario para evitar SQL inyection

Código:
sUser = Request.Form("Usuario")
sPwd = Request.Form("Password")

Por algo mas seguro:

Código:
sUser = replace(Request.Form("Usuario"),"'","''")
sPwd = replace(Request.Form("Password"),"'","''")

Esto es un ejemplo muy simple. Te recomiendo que busques en San Google o en el foro ejemplos mas consistentes y poderosos. Mira en las FAQs, estoy seguro de haber visto algo.



Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #5 (permalink)  
Antiguo 29/08/2007, 11:56
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años
Puntos: 0
Re: duda sobre como poner contraseña en ciertas paginas ???

ok, ya lo hice como me mencionaste tammander lo unico que hice fue que en las paginas
que quiero que me pida contraseña lo haga pero ahi tengo otro problema

solo en 2 paginas es la que pido si esta autenticado el user de esta forma:
Código:
<% if session("autorizacion")<>1 then 
  response.redirect "login.asp" 
end if%>
y como comenté asi lo mando llamar desde el menu:
------------
<li><a href="regproyecto.asp" target="_self">Proyectos </a></li>
<li><a href="regpropiedad.asp" target="_self">Propiedades </a></li>
------------

pero como le puedo hacer para que si yo le doy click en PROYECTOS
vaya y verifique si esta logueado si si lo esta que me despliegue la pag regproyecto.asp y asi con la otra pag, siento que lo que tengo mal es
cuando le doy un redirect.default.asp en este if

Código:
if not rs.eof then 
if rs("username")=sUser and rs("password")=sPwd then 
  Session("autorizacion")=1 
  Response.Redirect ("default.asp")
end if 
else 
session("autorizacion")=-1 	
end if
no se si funcione con q le pase el valor en una variable o con otra variable tipo session o no se.. es loq se me ocurre, jeje
__________________
" Recuerda , estas donde debes estar ..."

Última edición por Gaby_Corr; 29/08/2007 a las 15:03
  #6 (permalink)  
Antiguo 29/08/2007, 15:03
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años
Puntos: 0
Re: duda sobre como poner contraseña en ciertas paginas ???

ya lo hice ,jejej con las variables de session jeje
__________________
" Recuerda , estas donde debes estar ..."
  #7 (permalink)  
Antiguo 30/08/2007, 03:00
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: duda sobre como poner contraseña en ciertas paginas ???

¿Cómo lo solucionaste? Ponlo para que la gente que tenga el mismo error pueda solucionarlo ;)





Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
  #8 (permalink)  
Antiguo 30/08/2007, 08:20
Avatar de Gaby_Corr  
Fecha de Ingreso: junio-2005
Mensajes: 672
Antigüedad: 19 años
Puntos: 0
Re: duda sobre como poner contraseña en ciertas paginas ???

bueno lo que se me ocurrio fue esto y si me funciono, si hay otra forma de hacerlo pues estoy abierta a cualquier comentario

Código:
if not rs.eof then 
 if rs("username")=sUser and rs("password")=sPwd then 
      Session("autorizacion")=1 
      if Session("valor")= "proy" then
          Response.Redirect ("regproyecto.asp")
      else
      if Session("valor")= "prop" then
            Response.Redirect("regpropiedad.asp")
       end if
      end if
 end if 
else 
 session("autorizacion")=-1 	
end if
y en regproyecto.asp al inicio le puse esto:
Código:
<% if session("autorizacion")<>1 then 
  Session("valor")= "proy"
  response.redirect "login.asp" 
end if%>


Saludos
__________________
" Recuerda , estas donde debes estar ..."
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 20:14.