alvaro-prieto
9/13/2017 - 12:37 PM

permiso permisos roles acceso admin administrador supervisor subir archivos ficheros imagenes php subir archivo lectura upload archivos

A veces no tenemos permisos para subir imagenes, o queremos sabe si el usuario tiene acceso como administrador o supervisor. Los permisos se gestionan del siguiente modo

//En ocasiones, los permisos de una clase dependen de otra, por ejemplo si se trata
//de una polimórfica. En ese caso, un hack es sobreescribir el método "subirArchivo"
// (en este caso de WebDiapositivas) y poner algo así pero aplicado al caso que corresponda...

<? $clasesComprobacion["WebPaginas"]="Web";

$permisosVejos=$this->escritura;

if($this->id)
{
	if($clasesComprobacion[$this->datos->clase])
	{
		$clasePermisos=$clasesComprobacion[$this->datos->clase];
		$objPermisos=new $clasePermisos();
		$this->escritura=$objPermisos->escritura;
	}
	else
	{
		$clasePermisos=$this->datos->clase;
		$objPermisos=new $clasePermisos();
		$objPermisos->carga($this->datos->idregistro);
		$this->escritura=$objPermisos->escritura;
	}
}


$res= $this->_subirArchivo($parametros["var1"],$parametros["var2"],$parametros["var3"],$parametros["var4"],$parametros["var5"],$parametros["var6"]);

$this->escritura=$permisosVejos;

return $res;
?>
//Saber si un usuario es supervisor (gestor de contenido)
$PersonalArticulos = new PersonalArticulos(); //la clase que tiene los permisos
if($PersonalArticulos->supervisor()) { .... }

//Saber si un usuario es administrador (gestor de red, es decir nosotros)
$PersonalArticulos = new PersonalArticulos(); //la clase que tiene los permisos
if($PersonalArticulos->admin()) { .... }


NOTA: Santiago me ha dicho que normalmente, cuando se pone un filtro para comprobar si es asupervisor, también se comprueba si es admin, es decir
 if(supervisor || admin)  
A veces no tenemos permisos para subir imagenes. Los permisos se gestionan del siguiente modo:

1) Dar permisos a la aplicacion en http://amelero.quid.es/adminpermisossimple
   Es necesario entrar como santiago: sriega@tudela.uned.es aprieto@tudela.uned.es
   
2) A la clase de la aplicacion principal, se le dan permisos, en este caso de aplicacio 
  (el ultimo apartado en amarillo)

3) Al resto de clases relacionadas, se les pone que heredan los permisos de otra clase,
   la principal, y se selecciona en penultimo bloque amarillo la clase que hemos configurado
   en el paso 2