Restringir pagina a usuarios

14/07/2004 - 18:45 por alfredoa4 | Informe spam
Que tal grupo, soy un novato en esto del ASP pero esto intentando hacer mi
primera pagina web, y quiero ver si me puedan ayudar, ya que he estado
buscando manuales y ejemplos que me puedan ayudar pero ninguno me resuelve
mi duda, me he bajado este ejemplillo para iniciar session checando el
usuario y el password el cual funciona perfectamente, pero ahora mi problema
es el siguiente,
en mi sitio tengo inicio, pagina1, pagina2, pagina3, pagina4 y he
creado la tabla de access para checar los usuarios, en esta tabla tengo
usuario, password y nivel de usuario
lo que quiero es que cuando se registre el usuario tenga acceso a ciertas
paginas dependiendo su nivel de usuario, es decir,
nivel 1 tendra acceso a pagina 1
nivel 2 tendra acceso a pagina 1 y pagina 3
nivel 3 tendra acceso a pagina 2 y pagina 3
nivel 4 tendra acceso a todas las paginas
alguien me podria decir como se hace esto de antemano muchas gracias!!!!!

<%
Dim usuario, password, oConn, RS
if request.form("usuario")="" or request.form("password")="" then
response.redirect "pagina1.asp"
else
usuario= Trim(Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","'")
password = Replace(password,"'","'")

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.MapPath("./BD/uss.mdb")
sql="SELECT * FROM usuarios WHERE usuario = '"&usuario&"'"
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql,oConn
if (RS.EOF = true) then
Response.Write "Ese usuario no existe"
elseif RS.Fields("password") = password then
Response.Write "Te logueaste con exito...Bienvenido <b>"&usuario&"</b>"
else
Response.Write "Esta contraseña no concuerda con el usuario ingresado"
end if
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End if
%>

Preguntas similare

Leer las respuestas

#1 Franco Figún
14/07/2004 - 18:57 | Informe spam
Hola
Bueno, te explico como hacerlo de una manera que yo solía usar en asp 3.0...
Primero que nada, lo mas importante es la bd, que seria algo asi:

tblusuarios

iduser autonumber
usuario text
password text
permisos numeric

Y luego las tablas que quieras, pero si o si, tiene que haber una tabla que
se llame permisos, por ejemplo:

tblcontactos

id
nombre
apellido
email
permisos

En donde permisos es la tabla "clave", ya que en la tabla usuarios, le
asignas permisos con numero, 1, 2, 3, 4, y despues, haces un archivo
include, parecido a este:

<%
if session("iduser") = "7" then
response.redirect "ingreso.html"
end if
%>

Este include lo pones en cada pagina, y vos le asignas los permisos que
quieras, en vez de redirect, podes poner otra cosa.
Con un poco de imaginacion, lo podes hacer un poco mejor.
Espero te sirva.
FF
www.francofigun.com.ar
MSN:
Yahoo MSN:

"alfredoa4" wrote in message
news:O$
Que tal grupo, soy un novato en esto del ASP pero esto intentando hacer


mi
primera pagina web, y quiero ver si me puedan ayudar, ya que he estado
buscando manuales y ejemplos que me puedan ayudar pero ninguno me resuelve
mi duda, me he bajado este ejemplillo para iniciar session checando el
usuario y el password el cual funciona perfectamente, pero ahora mi


problema
es el siguiente,
en mi sitio tengo inicio, pagina1, pagina2, pagina3, pagina4 y he
creado la tabla de access para checar los usuarios, en esta tabla tengo
usuario, password y nivel de usuario
lo que quiero es que cuando se registre el usuario tenga acceso a ciertas
paginas dependiendo su nivel de usuario, es decir,
nivel 1 tendra acceso a pagina 1
nivel 2 tendra acceso a pagina 1 y pagina 3
nivel 3 tendra acceso a pagina 2 y pagina 3
nivel 4 tendra acceso a todas las paginas
alguien me podria decir como se hace esto de antemano muchas gracias!!!!!

<%
Dim usuario, password, oConn, RS
if request.form("usuario")="" or request.form("password")="" then
response.redirect "pagina1.asp"
else
usuario= Trim(Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","'")
password = Replace(password,"'","'")

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.MapPath("./BD/uss.mdb")
sql="SELECT * FROM usuarios WHERE usuario = '"&usuario&"'"
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql,oConn
if (RS.EOF = true) then
Response.Write "Ese usuario no existe"
elseif RS.Fields("password") = password then
Response.Write "Te logueaste con exito...Bienvenido <b>"&usuario&"</b>"
else
Response.Write "Esta contraseña no concuerda con el usuario ingresado"
end if
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End if
%>



Respuesta Responder a este mensaje
#2 Miguel Gonzalez
15/07/2004 - 09:33 | Informe spam
Hola Alfredo.

Te propongo un esquema (ejemplo para "e-learning")

Niveles de usuario:
0 Alumno sin registrar
1 Alumno registrado
2 Profesor
3 Coordinador
4 Direccion
5 Solo webmaster

Cuando un usuario se loguea, se almacena su nivel de accesi en una
variable de sesion:

Session("nivelUser") = [El nivel del usuario]

A cada página se le asigna un nivel de acceso y luego se comprueba si el
usuario tiene acceso a la misma:

<%
nivel=3
If Session("nivelUser") >= nivel Then
' Aqui contenido página
Else
Response.Write("No tiene acceso")
End If
%>

Si te fijas, hay una jerarquia de niveles (los usuarios de nivel 2
pueden a los recursos de los usuarios de nivel 0 y 1, pero no
viceversa). Si una pagina es exclusiva para un nivel concreto, basta con
efectuar la comparacion con el operador "=". Por ultimo, si en vez de
números consecutivos para indicar el nivel utilizas rangos de números
podrás introducir subniveles y ajustar todavía más el acceso:

0 Alumnos sin Registrar
0-100 Alumnos registrados
101-200 Profesores
etc.





alfredoa4 wrote:
Que tal grupo, soy un novato en esto del ASP pero esto intentando hacer mi
primera pagina web, y quiero ver si me puedan ayudar, ya que he estado
buscando manuales y ejemplos que me puedan ayudar pero ninguno me resuelve
mi duda, me he bajado este ejemplillo para iniciar session checando el
usuario y el password el cual funciona perfectamente, pero ahora mi problema
es el siguiente,
en mi sitio tengo inicio, pagina1, pagina2, pagina3, pagina4 y he
creado la tabla de access para checar los usuarios, en esta tabla tengo
usuario, password y nivel de usuario
lo que quiero es que cuando se registre el usuario tenga acceso a ciertas
paginas dependiendo su nivel de usuario, es decir,
nivel 1 tendra acceso a pagina 1
nivel 2 tendra acceso a pagina 1 y pagina 3
nivel 3 tendra acceso a pagina 2 y pagina 3
nivel 4 tendra acceso a todas las paginas
alguien me podria decir como se hace esto de antemano muchas gracias!!!!!

<%
Dim usuario, password, oConn, RS
if request.form("usuario")="" or request.form("password")="" then
response.redirect "pagina1.asp"
else
usuario= Trim(Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","'")
password = Replace(password,"'","'")

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.MapPath("./BD/uss.mdb")
sql="SELECT * FROM usuarios WHERE usuario = '"&usuario&"'"
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql,oConn
if (RS.EOF = true) then
Response.Write "Ese usuario no existe"
elseif RS.Fields("password") = password then
Response.Write "Te logueaste con exito...Bienvenido <b>"&usuario&"</b>"
else
Response.Write "Esta contraseña no concuerda con el usuario ingresado"
end if
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End if
%>



Respuesta Responder a este mensaje
#3 Enrique
27/07/2004 - 00:47 | Informe spam
Yo tengo problema similar...

Tengo 2 páginas a las que sólo se pueden tener acceso mediante usuario y
contraseña, tengo una página login.asp que es la que quiero que haga la
comprobación
ejemplo:

si un usuario intenta ingresar a pagina1 que lo regrese a la página de login
esto es lo que puse en la página1:

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

ya verificado el usuario y el password, el usuario puede ingresar a la
página que estaba intentando, ahora mi pregunta es..
para la página 2 quiero hacer lo mismo y que sea login.asp quien se encargue
de redireccionar a los usuarios según a la página que esten intentando
entrar
cual es el codigo correcto, pues asi intento entrar a la pagina 2, login.asp
me envia a la 1.

Espero haberme explicado y gracias de antemano por la ayuda.







"Miguel Gonzalez" escribió en el mensaje
news:
Hola Alfredo.

Te propongo un esquema (ejemplo para "e-learning")

Niveles de usuario:
0 Alumno sin registrar
1 Alumno registrado
2 Profesor
3 Coordinador
4 Direccion
5 Solo webmaster

Cuando un usuario se loguea, se almacena su nivel de accesi en una
variable de sesion:

Session("nivelUser") = [El nivel del usuario]

A cada página se le asigna un nivel de acceso y luego se comprueba si el
usuario tiene acceso a la misma:

<%
nivel=3
If Session("nivelUser") >= nivel Then
' Aqui contenido página
Else
Response.Write("No tiene acceso")
End If
%>

Si te fijas, hay una jerarquia de niveles (los usuarios de nivel 2
pueden a los recursos de los usuarios de nivel 0 y 1, pero no
viceversa). Si una pagina es exclusiva para un nivel concreto, basta con
efectuar la comparacion con el operador "=". Por ultimo, si en vez de
números consecutivos para indicar el nivel utilizas rangos de números
podrás introducir subniveles y ajustar todavía más el acceso:

0 Alumnos sin Registrar
0-100 Alumnos registrados
101-200 Profesores
etc.





alfredoa4 wrote:
> Que tal grupo, soy un novato en esto del ASP pero esto intentando


hacer mi
> primera pagina web, y quiero ver si me puedan ayudar, ya que he estado
> buscando manuales y ejemplos que me puedan ayudar pero ninguno me


resuelve
> mi duda, me he bajado este ejemplillo para iniciar session checando el
> usuario y el password el cual funciona perfectamente, pero ahora mi


problema
> es el siguiente,
> en mi sitio tengo inicio, pagina1, pagina2, pagina3, pagina4 y he
> creado la tabla de access para checar los usuarios, en esta tabla tengo
> usuario, password y nivel de usuario
> lo que quiero es que cuando se registre el usuario tenga acceso a


ciertas
> paginas dependiendo su nivel de usuario, es decir,
> nivel 1 tendra acceso a pagina 1
> nivel 2 tendra acceso a pagina 1 y pagina 3
> nivel 3 tendra acceso a pagina 2 y pagina 3
> nivel 4 tendra acceso a todas las paginas
> alguien me podria decir como se hace esto de antemano muchas


gracias!!!!!
>
> <%
> Dim usuario, password, oConn, RS
> if request.form("usuario")="" or request.form("password")="" then
> response.redirect "pagina1.asp"
> else
> usuario= Trim(Request.Form("usuario"))
> password = Trim(Request.Form("password"))
> usuario = Replace(usuario,"'","'")
> password = Replace(password,"'","'")
>
> Set oConn = Server.CreateObject("ADODB.Connection")
> oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
> Source="&Server.MapPath("./BD/uss.mdb")
> sql="SELECT * FROM usuarios WHERE usuario = '"&usuario&"'"
> Set RS = Server.CreateObject("ADODB.RecordSet")
> RS.Open sql,oConn
> if (RS.EOF = true) then
> Response.Write "Ese usuario no existe"
> elseif RS.Fields("password") = password then
> Response.Write "Te logueaste con exito...Bienvenido


<b>"&usuario&"</b>"
> else
> Response.Write "Esta contraseña no concuerda con el usuario ingresado"
> end if
> RS.Close
> oConn.Close
> Set RS = Nothing
> Set oConn = Nothing
> End if
> %>
>
>
>
Respuesta Responder a este mensaje
#4 Miguel Gonzalez
27/07/2004 - 10:07 | Informe spam
Hola Enrique.

Si te he entendido bien, creo que lo más recomendable es que
"login.asp", una vez el usuario se haya autentificado, redirija siempre
al usuario hacia una página "menu" (menu.asp, por ejemplo), en la que
figuren los enlaces a las páginas 1 ó 2 ó X.

Más o menos, el esquema sería:

login.asp --> menu.asp

menu.asp --> pagina1.asp ó pagina2.asp... paginaX.asp

Si falla la autentificacion en alguna de las páginas:

paginaX.asp --> login.asp


Saludos!
Miguel

Enrique wrote:
Yo tengo problema similar...

Tengo 2 páginas a las que sólo se pueden tener acceso mediante usuario y
contraseña, tengo una página login.asp que es la que quiero que haga la
comprobación
ejemplo:

si un usuario intenta ingresar a pagina1 que lo regrese a la página de login
esto es lo que puse en la página1:

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

ya verificado el usuario y el password, el usuario puede ingresar a la
página que estaba intentando, ahora mi pregunta es..
para la página 2 quiero hacer lo mismo y que sea login.asp quien se encargue
de redireccionar a los usuarios según a la página que esten intentando
entrar
cual es el codigo correcto, pues asi intento entrar a la pagina 2, login.asp
me envia a la 1.

Espero haberme explicado y gracias de antemano por la ayuda.







"Miguel Gonzalez" escribió en el mensaje
news:

Hola Alfredo.

Te propongo un esquema (ejemplo para "e-learning")

Niveles de usuario:
0 Alumno sin registrar
1 Alumno registrado
2 Profesor
3 Coordinador
4 Direccion
5 Solo webmaster

Cuando un usuario se loguea, se almacena su nivel de accesi en una
variable de sesion:

Session("nivelUser") = [El nivel del usuario]

A cada página se le asigna un nivel de acceso y luego se comprueba si el
usuario tiene acceso a la misma:

<%
nivel=3
If Session("nivelUser") >= nivel Then
' Aqui contenido página
Else
Response.Write("No tiene acceso")
End If
%>

Si te fijas, hay una jerarquia de niveles (los usuarios de nivel 2
pueden a los recursos de los usuarios de nivel 0 y 1, pero no
viceversa). Si una pagina es exclusiva para un nivel concreto, basta con
efectuar la comparacion con el operador "=". Por ultimo, si en vez de
números consecutivos para indicar el nivel utilizas rangos de números
podrás introducir subniveles y ajustar todavía más el acceso:

0 Alumnos sin Registrar
0-100 Alumnos registrados
101-200 Profesores
etc.





alfredoa4 wrote:

Que tal grupo, soy un novato en esto del ASP pero esto intentando





hacer mi

primera pagina web, y quiero ver si me puedan ayudar, ya que he estado
buscando manuales y ejemplos que me puedan ayudar pero ninguno me





resuelve

mi duda, me he bajado este ejemplillo para iniciar session checando el
usuario y el password el cual funciona perfectamente, pero ahora mi





problema

es el siguiente,
en mi sitio tengo inicio, pagina1, pagina2, pagina3, pagina4 y he
creado la tabla de access para checar los usuarios, en esta tabla tengo
usuario, password y nivel de usuario
lo que quiero es que cuando se registre el usuario tenga acceso a





ciertas

paginas dependiendo su nivel de usuario, es decir,
nivel 1 tendra acceso a pagina 1
nivel 2 tendra acceso a pagina 1 y pagina 3
nivel 3 tendra acceso a pagina 2 y pagina 3
nivel 4 tendra acceso a todas las paginas
alguien me podria decir como se hace esto de antemano muchas





gracias!!!!!

<%
Dim usuario, password, oConn, RS
if request.form("usuario")="" or request.form("password")="" then
response.redirect "pagina1.asp"
else
usuario= Trim(Request.Form("usuario"))
password = Trim(Request.Form("password"))
usuario = Replace(usuario,"'","'")
password = Replace(password,"'","'")

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.MapPath("./BD/uss.mdb")
sql="SELECT * FROM usuarios WHERE usuario = '"&usuario&"'"
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open sql,oConn
if (RS.EOF = true) then
Response.Write "Ese usuario no existe"
elseif RS.Fields("password") = password then
Response.Write "Te logueaste con exito...Bienvenido





<b>"&usuario&"</b>"

else
Response.Write "Esta contraseña no concuerda con el usuario ingresado"
end if
RS.Close
oConn.Close
Set RS = Nothing
Set oConn = Nothing
End if
%>









Respuesta Responder a este mensaje
#5 Anonimo
28/07/2004 - 03:08 | Informe spam
Ok. eso esta muy bien, lo que pasa que los usuarios no tienen los mismos
permisos para ambas páginas, algunos pueden entrar a la pagina1 y otros no,
algunos a la pagina2 y otros no..

En principio se me ocurre que login.asp consulte las tablas en una BD de
access de acuerdo desde que pagina venga el usuario, si viene de pagina1,
que consulte la
tabla "usuarios" y si viene de la pagina2 consulte la tabla de
"administradores" y ya les de el acceso ¿me complico? jeje

gracias por la ayuda.

Saludos.

"Miguel Gonzalez" escribió en el mensaje
news:
Hola Enrique.

Si te he entendido bien, creo que lo más recomendable es que
"login.asp", una vez el usuario se haya autentificado, redirija siempre
al usuario hacia una página "menu" (menu.asp, por ejemplo), en la que
figuren los enlaces a las páginas 1 ó 2 ó X.

Más o menos, el esquema sería:

login.asp --> menu.asp

menu.asp --> pagina1.asp ó pagina2.asp... paginaX.asp

Si falla la autentificacion en alguna de las páginas:

paginaX.asp --> login.asp


Saludos!
Miguel

Enrique wrote:
> Yo tengo problema similar...
>
> Tengo 2 páginas a las que sólo se pueden tener acceso mediante usuario y
> contraseña, tengo una página login.asp que es la que quiero que haga la
> comprobación
> ejemplo:
>
> si un usuario intenta ingresar a pagina1 que lo regrese a la página de


login
> esto es lo que puse en la página1:
>
> <% if session("autorizacion")<>1 then
> response.redirect "login.asp"
> end if %>
>
> ya verificado el usuario y el password, el usuario puede ingresar a la
> página que estaba intentando, ahora mi pregunta es..
> para la página 2 quiero hacer lo mismo y que sea login.asp quien se


encargue
> de redireccionar a los usuarios según a la página que esten intentando
> entrar
> cual es el codigo correcto, pues asi intento entrar a la pagina 2,


login.asp
> me envia a la 1.
>
> Espero haberme explicado y gracias de antemano por la ayuda.
>
>
>
>
>
>
>
> "Miguel Gonzalez" escribió en el mensaje
> news:
>
>>Hola Alfredo.
>>
>>Te propongo un esquema (ejemplo para "e-learning")
>>
>>Niveles de usuario:
>>0 Alumno sin registrar
>>1 Alumno registrado
>>2 Profesor
>>3 Coordinador
>>4 Direccion
>>5 Solo webmaster
>>
>>Cuando un usuario se loguea, se almacena su nivel de accesi en una
>>variable de sesion:
>>
>>Session("nivelUser") = [El nivel del usuario]
>>
>>A cada página se le asigna un nivel de acceso y luego se comprueba si el
>>usuario tiene acceso a la misma:
>>
>><%
>>nivel=3
>>If Session("nivelUser") >= nivel Then
>>' Aqui contenido página
>>Else
>>Response.Write("No tiene acceso")
>>End If
>>%>
>>
>>Si te fijas, hay una jerarquia de niveles (los usuarios de nivel 2
>>pueden a los recursos de los usuarios de nivel 0 y 1, pero no
>>viceversa). Si una pagina es exclusiva para un nivel concreto, basta con
>>efectuar la comparacion con el operador "=". Por ultimo, si en vez de
>>números consecutivos para indicar el nivel utilizas rangos de números
>>podrás introducir subniveles y ajustar todavía más el acceso:
>>
>>0 Alumnos sin Registrar
>>0-100 Alumnos registrados
>>101-200 Profesores
>>etc.
>>
>>
>>
>>
>>
>>alfredoa4 wrote:
>>
>>>Que tal grupo, soy un novato en esto del ASP pero esto intentando
>
> hacer mi
>
>>>primera pagina web, y quiero ver si me puedan ayudar, ya que he estado
>>>buscando manuales y ejemplos que me puedan ayudar pero ninguno me
>
> resuelve
>
>>>mi duda, me he bajado este ejemplillo para iniciar session checando el
>>>usuario y el password el cual funciona perfectamente, pero ahora mi
>
> problema
>
>>>es el siguiente,
>>> en mi sitio tengo inicio, pagina1, pagina2, pagina3, pagina4 y he
>>>creado la tabla de access para checar los usuarios, en esta tabla tengo
>>>usuario, password y nivel de usuario
>>>lo que quiero es que cuando se registre el usuario tenga acceso a
>
> ciertas
>
>>>paginas dependiendo su nivel de usuario, es decir,
>>> nivel 1 tendra acceso a pagina 1
>>> nivel 2 tendra acceso a pagina 1 y pagina 3
>>> nivel 3 tendra acceso a pagina 2 y pagina 3
>>> nivel 4 tendra acceso a todas las paginas
>>>alguien me podria decir como se hace esto de antemano muchas
>
> gracias!!!!!
>
>>><%
>>>Dim usuario, password, oConn, RS
>>>if request.form("usuario")="" or request.form("password")="" then
>>> response.redirect "pagina1.asp"
>>>else
>>> usuario= Trim(Request.Form("usuario"))
>>> password = Trim(Request.Form("password"))
>>> usuario = Replace(usuario,"'","'")
>>> password = Replace(password,"'","'")
>>>
>>> Set oConn = Server.CreateObject("ADODB.Connection")
>>> oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
>>>Source="&Server.MapPath("./BD/uss.mdb")
>>> sql="SELECT * FROM usuarios WHERE usuario = '"&usuario&"'"
>>> Set RS = Server.CreateObject("ADODB.RecordSet")
>>> RS.Open sql,oConn
>>> if (RS.EOF = true) then
>>> Response.Write "Ese usuario no existe"
>>> elseif RS.Fields("password") = password then
>>> Response.Write "Te logueaste con exito...Bienvenido
>
> <b>"&usuario&"</b>"
>
>>> else
>>> Response.Write "Esta contraseña no concuerda con el usuario


ingresado"
>>> end if
>>>RS.Close
>>>oConn.Close
>>>Set RS = Nothing
>>>Set oConn = Nothing
>>>End if
>>>%>
>>>
>>>
>>>
>
>
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida