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

Manejar permisos en una aplicacion web

Estas en el tema de Manejar permisos en una aplicacion web en el foro de ASP Clásico en Foros del Web. Buenas a todos, tengo un par de dudas respecto a unos permisos que pretendo meter a una aplicacion web, diferente a lo que estoy usando ...
  #1 (permalink)  
Antiguo 08/09/2010, 16:11
 
Fecha de Ingreso: mayo-2005
Mensajes: 31
Antigüedad: 18 años, 11 meses
Puntos: 0
Manejar permisos en una aplicacion web

Buenas a todos, tengo un par de dudas respecto a unos permisos que pretendo meter a una aplicacion web, diferente a lo que estoy usando ahora.

Explico la situacion:

Tengo una aplicacion web donde hay muchos formularios y listados, manejo los permisos con cookies y registros en una tabla de la bd.

el usuario administrador puede ver todo el sistema y hacer lo que quiera con todos los formularios y listados, y los otros usuarios tienen algunas restricciones... por ej:

Formulario 1: (20 campos)

- Administrador: puede modificar los 20 campos y grabar
- Usuario cliente: puede modificar solamente 5 campos y grabar esos 5 campos.
- Usuario comun: no puede ingresar al formulario


Listado 1: (20 columnas de registros)

- Administrador: puede ver los 20 columnas
- Usuario cliente: puede ver solamente 10 columnas.
- Usuario comun: puede ver 5 columnas


La solucion que le di en este momento, y funciona bien, es meter copias de los formularios en carpetas separadas, segun los permisos que tenga el usuario y modificarlos segun lo que pueda o no hacer o ver:

Carpeta: Administrador
- Formulario 1 con todos los 20 campos
- Listado 1 con las 20 columnas

Carpeta: Usuario Cliente
- Formulario 1 solamente mostrando 5 campos editables (los otros 15 los borro)
- Listado 1 con 10 columnas (las otras 10 las borro)

Carpeta: Usuario comun
- Sin formulario 1
- Listado 1 con 5 columnas (las otras 15 las borro)


Tengo 7 niveles de usuarios, o sea, 7 carpetas.

Lo que estoy queriendo ver es la posibilidad de manejar esto de otra forma, porque cada vez mas se agregan formularios y listados.... y cada vez que tengo que modificar algo, tengo que editar los archivos de todas las carpetas.

Espero haber explicado bien la cosa.

Bueno, saludos y gracias.
  #2 (permalink)  
Antiguo 09/09/2010, 05:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 201
Antigüedad: 14 años, 11 meses
Puntos: 9
Respuesta: Manejar permisos en una aplicacion web

no es mucho mas sencillo tener una variable session con el tipo de usuario que esta accediendo y luego con ifs mostrar y ocultar las partes de formaularios que quieras?

Solo para admins

<% if session("perfil") = "admin" then %>
<input type="text" name="textfield" id="textfield" />
<% end if %>

Para admins y clientes

<% if session("perfil") <> "comun" then %>
<input type="text" name="textfield" id="textfield" />
<% end if %>

Para todos
<input type="text" name="textfield" id="textfield" />
  #3 (permalink)  
Antiguo 09/09/2010, 06:41
 
Fecha de Ingreso: mayo-2005
Mensajes: 31
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Manejar permisos en una aplicacion web

imaginate 7 tipos de usuarios, en el formulario cada campo poniendo un codigo para verificar si lo tiene que ver o no, y despues, lo mas complicado, cuando vas a grabar, armar la sentencia sql tambien poniendo consistencias en cada campo...


debe haber alguna otra salida... creo.
  #4 (permalink)  
Antiguo 09/09/2010, 08:35
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Manejar permisos en una aplicacion web

Estas en ASP clásico, aquí ese problema se solucionaría con condicionales.

Cita:
Lo que estoy queriendo ver es la posibilidad de manejar esto de otra forma, porque cada vez mas se agregan formularios y listados.... y cada vez que tengo que modificar algo, tengo que editar los archivos de todas las carpetas.
Ahorita sin analizarlo mucho, yo en tu lugar hubiera hecho una tabla de "pantallas" otra de "formularios" ligada a la de pantallas, otra de "controles" ligada a la de formularios, otra de listados, otra de "Usuarios" y otra de permisos, ligada a la de usuarios y a la de pantallas, formularios y controles.
Haría una clase que me determinara si un tipo de usuario tiene acceso o no a una pantalla, formulario, control o listado y en las páginas claro esta que mediante condicionales que evaluaran el resultado del método de la clase pintaría o no los elementos correspondientes.

De esa forma no importa si son 3 o 20 tipos de usuarios o si van agregando listados, solo se modifican registros en la tabla de permisos y se pintaría lo que debiera.

Esto implicaría claro esta rehacer el sistema y no creo que te sea viable, así que ni modo, a poner IF's en cada archivo o separar código en includes, ahí si ya no podemos ayudarte por que no sabemos como están hechas tus páginas.

Saludos
  #5 (permalink)  
Antiguo 09/09/2010, 09:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 31
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Manejar permisos en una aplicacion web

ok myakire, de no ser asp clasico... como lo solucionaria?

gracias.
  #6 (permalink)  
Antiguo 09/09/2010, 11:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Manejar permisos en una aplicacion web

Bueno, en ASP.NET supongo manejarias roles

Etiquetas: manejar, permisos, aplicaciones
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 15:41.