Foros del Web » Programando para Internet » PHP »

Ideas [¿cómo hacer?] Publicación y Restricción de Usuarios.

Estas en el tema de Ideas [¿cómo hacer?] Publicación y Restricción de Usuarios. en el foro de PHP en Foros del Web. ¡Saludos! En esta oportunidad traigo una consulta sencilla. ¿Cómo puedo restringir el acceso de usuarios a ciertos archivos que tengo en la base de datos? ...
  #1 (permalink)  
Antiguo 13/09/2012, 16:31
Avatar de 1333nvz  
Fecha de Ingreso: julio-2012
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 1
Ideas [¿cómo hacer?] Publicación y Restricción de Usuarios.

¡Saludos!
En esta oportunidad traigo una consulta sencilla.
¿Cómo puedo restringir el acceso de usuarios a ciertos archivos que tengo en la base de datos?
Por un lado, tengo un sistema que sube los archivos y guarda algunos de esos datos en la bd, y por otro lado tengo un sistema que registra usuarios en la base de datos. Por defecto los archivos (o la información de la bd para simplificar las cosas) se muestra para todo el mundo, pero me gustaría que el admin pudiera seleccionar a que usuarios quitar la posibilidad de ver los archivos, algo así como una lista negra.
¿Alguna idea? Muchas, muchas gracias.
  #2 (permalink)  
Antiguo 13/09/2012, 16:41
 
Fecha de Ingreso: enero-2012
Ubicación: merida
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Ideas [¿cómo hacer?] Publicación y Restricción de Usuarios.

Tienes que crear perfiles de usuario. En la sesión almacena un tipo y con ese "tipo" determinas hasta donde puede acceder el usuario
  #3 (permalink)  
Antiguo 13/09/2012, 16:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: Ideas [¿cómo hacer?] Publicación y Restricción de Usuarios.

Necesitas investigar los términos ACL/RBAC.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 13/09/2012, 16:44
 
Fecha de Ingreso: enero-2012
Ubicación: merida
Mensajes: 14
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Ideas [¿cómo hacer?] Publicación y Restricción de Usuarios.

Lo mas básico que se me ocurre es que al momento de inicari la sesión almacenas en la sesión el tipo de usuario.
<?php
if($_SESSION["tipoUsuario"]!=1)
{
die("No permitido");
}
?>
  #5 (permalink)  
Antiguo 13/09/2012, 16:59
Avatar de 1333nvz  
Fecha de Ingreso: julio-2012
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Ideas [¿cómo hacer?] Publicación y Restricción de Usuarios.

Finalmente solucioné este tema, no sé si será la forma más efectiva, pero me sirvió.

Como mencioné con anterioridad, yo ya poseo una base de datos donde puedo almacenar cierta información (en mi caso es el nombre de un archivo y otras cuestiones más que no vienen al caso).
En la base de datos agregué una columna en la tabla del tipo longtext con el nombre lista_negra (bien podría ser varchar, es cierto).
Al momento de subir los datos y guardar la información el operador previamente decide quienes estarán dentro de esta lista negra y el texto se guarda de la siguiente manera:

Código PHP:
usuarioprohibido1~usuarioprohibido2~usuarioprohibido3 
Cómo verán, se registra una cadena de caracteres larga con todos los usuarios que no pueden ver esa información concreta, separados por el símbolo ~ que en este caso no cumple otra función más que la de separar (bien podría ser un espacio vacío simplemente).

Una vez el usuario hace una llamada a esta información almacenada en la base de datos, mediante la función explode(), obtenemos todos los usuarios prohibidos y luego con la ayuda de un while recorremos en busca de de una coincidencia, en caso de hallarla no mostramos la información al usuario.

Obviamente para lograr esto es necesario tener la información del usuario que está navegando el sitio.

Bien, eso es todo, espero que la idea quede clara y si puedo subo el código en cuestión. ¡Saludos y gracias!

Etiquetas: bd, documentos, restringir
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 08:07.