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

#6 Miguel Gonzalez
28/07/2004 - 16:30 | Informe spam
Hola!

Supongo que especificas en algun lugar el nivel de acceso que tienen los
usuarios o las páginas que pueden o no pueden ver...

¿Puedes darme más datos sobre esta cuestión?

En función de cómo tengas montado el tema cambiarán las posibilidades
para conseguir lo que te propones.

Saludos!
Miguel

wrote:
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
#7 Enrique
30/07/2004 - 01:53 | Informe spam
gracias por responder miguel.

Ahora ya han cambiado los requerimientos que me hicieron, quieren ahora
despues de login.asp un menu que les de opciones a que pagina entrar para
ver documentos por departamentos... mmmm (tengo que pensar ahi para que me
surjan dudas ¿no?)

Después las tendré y si a alguien más les sirve, pues se puede apoyar con
toda esta discusion.

Muchas gracias y Saludos.


"Miguel Gonzalez" escribió en el mensaje
news:%230BpO$
Hola!

Supongo que especificas en algun lugar el nivel de acceso que tienen los
usuarios o las páginas que pueden o no pueden ver...

¿Puedes darme más datos sobre esta cuestión?

En función de cómo tengas montado el tema cambiarán las posibilidades
para conseguir lo que te propones.

Saludos!
Miguel

wrote:
> 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
>>>>>%>
>>>>>
>>>>>
>>>>>
>>>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida