es.mcu.yingo.aplicacion.permisos
Class PermisoPeticionarioYListaRoles

java.lang.Object
  extended by es.mcu.yingo.aplicacion.permisos.PermisoPorRolConfiguradoXml
      extended by es.mcu.yingo.aplicacion.permisos.PermisoPeticionarioYListaRoles
All Implemented Interfaces:
Permisos

public class PermisoPeticionarioYListaRoles
extends PermisoPorRolConfiguradoXml

Esta clase indica si se tiene permiso o no para realizar una determinada acción. El funcionamiento es el siguiente: Si el usuario que intenta obtener el permiso posee algún rol de los que se indican en la lista "rolesPermitidos", se obtiene el permiso. Si el id del usuario se ha almacenado en la la base de datos en el campo que se indique en "campoUsuario", también se obtiene permiso. El funcionamiento típico de este permiso, puede ser: "Puede ver la tarea el usuario que la ejecuto o los usuarios que posean alguno de estos roles 'administrador', 'responsable'"

Author:
carlos.garcia.h

Field Summary
private  BaseDatos baseDatos
          Objeto que gestiona operaciones comunes de la base de datos
private  java.lang.String campoUsuario
          Nombre del campo donde se recupera el id del usuario en la base de datos de Yingo
 
Constructor Summary
PermisoPeticionarioYListaRoles()
           
 
Method Summary
 BaseDatos getBaseDatos()
           
 java.lang.String getCampoUsuario()
          Nombre del campo donde se recupera el id del usuario en la base de datos de Yingo
 void setBaseDatos(BaseDatos baseDatos)
           
 void setCampoUsuario(java.lang.String campoUsuario)
          Nombre del campo donde se recupera el id del usuario en la base de datos de Yingo
 boolean tienePermiso(Dao dao, java.lang.String idAplicacion, java.lang.String idTarea, java.lang.String codExpediente, Usuario usuario)
          Implementación del interfaz Permisos Devuelve true si el ususario posee algún rol de la lista "rolesPermitidos" o si el campo que esté en la base de datos en la clave "campoUsuario" nos devuelve el id del usuario.
 
Methods inherited from class es.mcu.yingo.aplicacion.permisos.PermisoPorRolConfiguradoXml
getRolesPermitidos, setRolesPermitidos
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

baseDatos

private BaseDatos baseDatos
Objeto que gestiona operaciones comunes de la base de datos


campoUsuario

private java.lang.String campoUsuario
Nombre del campo donde se recupera el id del usuario en la base de datos de Yingo

Constructor Detail

PermisoPeticionarioYListaRoles

public PermisoPeticionarioYListaRoles()
Method Detail

tienePermiso

public boolean tienePermiso(Dao dao,
                            java.lang.String idAplicacion,
                            java.lang.String idTarea,
                            java.lang.String codExpediente,
                            Usuario usuario)
                     throws YingoException
Implementación del interfaz Permisos Devuelve true si el ususario posee algún rol de la lista "rolesPermitidos" o si el campo que esté en la base de datos en la clave "campoUsuario" nos devuelve el id del usuario.

Specified by:
tienePermiso in interface Permisos
Overrides:
tienePermiso in class PermisoPorRolConfiguradoXml
Parameters:
dao -
idAplicacion -
idTarea -
codExpediente -
usuario -
Returns:
boolean
Throws:
BaseDatosYingoException
YingoException

getBaseDatos

public BaseDatos getBaseDatos()
Returns:
the baseDatos

setBaseDatos

public void setBaseDatos(BaseDatos baseDatos)
Parameters:
baseDatos - the baseDatos to set

getCampoUsuario

public java.lang.String getCampoUsuario()
Nombre del campo donde se recupera el id del usuario en la base de datos de Yingo

Returns:
the campoUsuario

setCampoUsuario

public void setCampoUsuario(java.lang.String campoUsuario)
Nombre del campo donde se recupera el id del usuario en la base de datos de Yingo

Parameters:
campoUsuario - the campoUsuario to set