Properties

$seguridad_conexion

$seguridad_conexion : \SeguridadConexion

Type

\SeguridadConexion — la instancia a usar de SeguridadConexion

Methods

__construct()

__construct(\SeguridadConexion  $seguridad_conexion) 

Instancia la variable de clase

Parameters

\SeguridadConexion $seguridad_conexion

obtenerConsultaSegura()

obtenerConsultaSegura(string  $consulta) : string

Retorna el resultado de una consulta.

Parameters

string $consulta

Returns

string

obtenerInformacionSeguridad()

obtenerInformacionSeguridad(  $opciones,   $descripciones,   $sufijos) 

Lee las opciones de seguridad desde un archivo XML y las devuelve en <var>$opciones</var>, <var>$descripciones</var> y <var>$sufijos</var>.

Parameters

$opciones
$descripciones
$sufijos

Throws

\ExcepcionXGAP

si hay un error al leer el archivo descriptor de seguridad (XGAP_ARCHIVO_DESCRIPCION_SEGURIDAD)

definirConstantesDeSeguridad()

definirConstantesDeSeguridad(array  $acciones_de_pagina = array()) 

Define las constantes relacionadas con la seguridad por acciones dentro de la pagina

Parameters

array $acciones_de_pagina

hayUsuarioLogueado()

hayUsuarioLogueado() : boolean

Permite comprobar si hay un usuario logueado en la aplicación y tiene un rol seleccionado.

Returns

boolean

usuarioLogueado()

usuarioLogueado() : array|null

Retorna datos del usuario logueado en la aplicación.

El resultado tiene la forma:

array(
    'id' => identificador,
    'nombre' => nombre corto,
    'nombre_ext' => nombre completo
)

Returns

array|null —

los datos del usuario o null si no hay un usuario logueado

rolFuncionalUsuarioLogueado()

rolFuncionalUsuarioLogueado() : array|null

Retorna datos del rol funcional activo del usuario logueado en la aplicación.

El resultado tiene la forma:

array(
    'id' => identificador,
    'nombre' => nombre
)

Returns

array|null —

los datos del rol o null si no hay un rol activo

paginaUsaSeguridad()

paginaUsaSeguridad(string  $nombre_pagina) : boolean

Permite comprobar si una página usa seguridad.

Parameters

string $nombre_pagina

Returns

boolean —

true si usa seguridad; null si no lo puede comprobar porque no se encuentra el índice de páginas o una entrada para $nombre_pagina dentro del índice

puedeVerPagina()

puedeVerPagina(string  $pagina) : boolean

Permite comprobar si el rol actual del usuario logueado le permite ver la página <var>$pagina</var> de la aplicación actual.

Parameters

string $pagina

ruta completa de la página a verificar

Returns

boolean —

true si $pagina no usa seguridad o el usuario tiene permiso para verla

puedeVerPaginaParams()

puedeVerPaginaParams(  $pagina, array  $params) : boolean

Permite comprobar si el usuario logueado puede visitar la página <var>$pagina</var> con los parámetros <var>$params</var>.

Este método difiere de \puedeVerPagina() en que se utiliza para verificar si la página se puede visitar con una lista de parámetros dada, mientras que \puedeVerPagina() se usa para ver si la página en sí es accesible, independientemente de los parámetros. Esto hace posible que se permita la visita a una página con ciertos valores de parámetros, pero no con otros.

Por defecto este método retorna siempre true, pero se puede especializar en las aplicaciones con una clase de seguridad personalizada.

Parameters

$pagina

ruta completa de la página a verificar

array $params

parámetros que recibe la página

Returns

boolean

operacionHabilitada()

operacionHabilitada(\iOperacion  $operacion) : boolean

Permite comprobar si una operación debe estar habilitada para ejecutar.

Parameters

\iOperacion $operacion

Returns

boolean —

true si la operación {@link iOperacion::esValida() es válida}

verificarSeguridad()

verificarSeguridad(string  $error) : boolean

Comprueba que haya un usuario logueado con un rol seleccionado y que tenga permiso para visitar la página actual.

Si cumple las condiciones, define las \definirConstantesDeSeguridad(); si no, redirige a la página de inicio o de error.

Parameters

string $error

página de error

Returns

boolean

actualizaPermisosPaginas()

actualizaPermisosPaginas(string  $aplicacion, string  $rol_usuario, string  $tipo_pagina, array  $paginas, string  $operaciones) 

Actualiza los permisos de las paginas.

Si no están las agrega en la tabla de paginas y establece, para un rol determinado, lo que se puede realizar.

Parameters

string $aplicacion
string $rol_usuario
string $tipo_pagina
array $paginas

array de strings con los nombres de páginas a actualizar

string $operaciones

actualizarPermisosPorPagina()

actualizarPermisosPorPagina(string  $aplicacion, string  $pagina, array  $roles_usuario, string  $operaciones) 

Actualiza los permisos para una página.

Define los roles que pueden accederla y las operaciones que se pueden realizar sobre ella.

Parameters

string $aplicacion

nombre de la aplicación que contiene la página

string $pagina

nombre de la página

array $roles_usuario

array de strings

string $operaciones

operaciones que se pueden realizar

obtenerPaginasPermitidas()

obtenerPaginasPermitidas(string  $aplicacion, string  $rol_usuario, string  $tipo_pagina) : array

Permite obtener las páginas que se pueden visitar y operaciones posibles en cada una.

Para una aplicación, un rol de usuario y un tipo de página determinados, retorna un arreglo con las páginas permitidas como clave y las operaciones como un arreglo con las operaciones posibles

Parameters

string $aplicacion
string $rol_usuario
string $tipo_pagina

Returns

array

obtenerEsquema()

obtenerEsquema() : String

Devuelve el nombre del esquema de seguridad en la base de datos.

Returns

String —

el nombre del esquema, o un string vacío si no está definido

obtenerRolesDisponibles()

obtenerRolesDisponibles() : array

Permite obtener los roles disponibles en la aplicación.

Returns

array —

un array asociativo con la lista de roles, en formato 'id' => 'descripcion'

obtenerAplicacionesDisponibles()

obtenerAplicacionesDisponibles() : array

Permite obtener las aplicaciones disponibles.

Returns

array —

la lista de aplicaciones disponibles, en formato 'id' => ['descripcion' => ?, 'servidor' => ?, 'path_web' => ?, 'path_fs' => ?]

destruirSesionAplicacion()

destruirSesionAplicacion(boolean  $regenerar_id_sesion = FALSE,   $redirigir_a = NULL, string  $mensaje = NULL, string  $tipo_mensaje = \Flash::MENSAJE_INFORMACION, integer  $duracion_mensaje = \Flash::TIEMPO_PRESENTACION_INDETERMINADO) 

Elimina todos los datos de la sesión para la aplicación actual.

Parameters

boolean $regenerar_id_sesion

si es FALSE; se mantiene el ID de sesión; si es FALSE, el ID se cambia por uno nuevo, afectando a todas las aplicaciones, no sólo a la actual

$redirigir_a
string $mensaje

mensaje a mostrar durante el siguiente request; si es vacío, no se muestra ningún mensaje

string $tipo_mensaje

tipo de mensaje; una de las constantes Flash::MENSAJE_*

integer $duracion_mensaje

tiempo en milisegundos por el que se debe presentar el mensaje; pasar NULL para usar el tiempo preestablecido

xmlDescripcionSeguridad()

xmlDescripcionSeguridad() : \XML

Returns

\XML

leerOpcionesSeguridad()

leerOpcionesSeguridad() : array

Lee las opciones de seguridad desde un archivo XML

Returns

array

puedeVerPaginaConSeguridad()

puedeVerPaginaConSeguridad(String  $pagina) : boolean

Permite comprobar si el rol actual del usuario logueado le permite ver la página <var>$pagina</var> de la aplicación actual, cuando dicha página usa seguridad.

Parameters

String $pagina

ruta completa sin consulta de la página a verificar

Returns

boolean —

true si el usuario tiene permiso para ver $pagina

verificarCredenciales()

verificarCredenciales() 

Comprueba que los datos de login sean correctos.

Si no los son, redirige a la página de inicio.

verificarSeguridadPagina()

verificarSeguridadPagina(string  $error) : mixed

Comprueba si la página actual se puede acceder.

Redirige a la página de error si no se puede.

Parameters

string $error

página de error

Returns

mixed —

un array[string] con la lista de permisos de la página, o false si la página no tiene permisos establecidos