Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/02/2013, 15:58
Avatar de jandrogdz
jandrogdz
 
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 10 meses
Puntos: 12
Respuesta: Restriccion de acceso a contenido

Bueno al parecer esta solucionado mi problema, pero si se puede mejorar espero sus comentarios:

De esta forma obtengo solo el archivo que esta siendo utilizado:
Código PHP:
Ver original
  1. $nombreArchivo= basename(__FILE__, ".php");
  2. echo $nombreArchivo.".php";

Código PHP:
Ver original
  1. private function retonrnaMenuID($nombreArchivo){
  2.         $query="SELECT menuID FROM menu WHERE archivo=?";
  3.         $stmt=$this->_connection->prepare($query);
  4.         $stmt->bind_param("s",$nombreArchivo);
  5.         $stmt->execute();
  6.         $menuID=$stmt->fetch_object();
  7.         return $menuID;
  8.     }
  9.    
  10.     public function acceso($id_usuario,$id_menu,$nombreArchivo){
  11.             $menuID = $this->retonrnaMenuID($nombreArchivo);
  12.             $query="SELECT privLectura,privEscritura,menuID FROM permiso WHERE usuarioID=? AND menuID=?";
  13.             $stmt=$this->_connection->prepare($query);
  14.             $stmt->bind_param('ii',$id_usuario,$menuID->menuID);   
  15.             $stmt->execute();
  16.             $accesos=$stmt->fetch_object();
  17.             if($accesos->privLectura == 0):
  18.                 $this->setError("ErrorAccesoLectura","No tienes acceso a este contenido. Ponte en contacto con el administrador para habilitar el permiso.");
  19.                 //header("location: pagina_anterior.php");
  20.             else:
  21.                 $this->_priv_lectura = true;
  22.             endif;
  23.            
  24.             if($accesos->privEscritura == 0):
  25.                 $this->setError("ErrorAccesoEscritura","No cuentas con el permiso para hacer modificaciones en este módulo. Ponte en contacto con el administrador para habilitar el permiso.");
  26.                 //header("location: pagina_anterior.php");
  27.             else:
  28.                 $this->_priv_escritura = true;
  29.             endif;
  30.            
  31.             if($accesos->privReportes == 0):
  32.                 $this->setError("ErrorAccesoReporte","No cuentas con el permiso para realizar esta accion. Ponte en contacto con el administrador para habilitar el permiso.");
  33.                 //header("location: pagina_anterior.php");
  34.             else:
  35.                 $this->_privReporte = true;
  36.             endif;
  37.     }

Otra opcion que se me ocurrio fue hacer una consulta con join de permiso a menu y en el where validar el usuario y el nombre del archivo directamente.
__________________
Lo imposible solo cuesta un poco mas