<UML:Class stereotype="" package="" xmi.id="265" abstract="0" documentation="Manejo interno de las bases de datos." name="SAMURAI_DB" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="269" type="DB" abstract="0" documentation="Realiza la conexion con la base de datos." name="connect" static="0" scope="200" />
</UML:Class>
- <UML:Class stereotype="" package="SAMURAI" xmi.id="377" abstract="0" documentation="Chequeador de permisos." name="SAMURAI_Perm" static="0" scope="200" >
+ <UML:Class stereotype="" package="SAMURAI" xmi.id="377" abstract="0" documentation="Chequeador de permisos.
+Para la libreria de perl:
+@see perm.epl" name="SAMURAI_Perm" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="380" type="void" abstract="0" documentation="Constructor." name="SAMURAI_Perm" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Login del usuario para el cual obtener los permisos." name="login" static="0" scope="200" />
<UML:Parameter stereotype="" package="" xmi.id="2" value="" type="int" abstract="0" documentation="Sistema con el cual se va a trabajar." name="sistema" static="0" scope="200" />
<UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="265" roleb="264" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
</umlobjects>
<diagrams>
- <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="911" snapy="10" showatts="1" xmi.id="206" documentation="" type="402" showops="1" showpackage="0" name="Clases y Relaciones" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,4,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="658" >
+ <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="911" snapy="10" showatts="1" xmi.id="206" documentation="" type="402" showops="1" showpackage="0" name="Clases y Relaciones" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,4,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="672" >
<widgets>
<UML:ClassWidget usesdiagramfillcolour="0" width="157" showattsigs="601" usesdiagramusefillcolour="0" x="750" linecolour="#ff0000" y="290" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="280" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="110" showattsigs="601" usesdiagramusefillcolour="0" x="640" linecolour="#ff0000" y="10" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="294" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="208" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
// +X2C Class 377 :SAMURAI_Perm
/**
* Chequeador de permisos.
+Para la libreria de perl:
+@see perm.epl
*
* @package SAMURAI
* @access public
} // -X2C Class :SAMURAI_Sistema
-?>
+?>
\ No newline at end of file
--- /dev/null
+<?php
+
+/**
+\page perm.epl
+
+\section desc Descripcion
+Libreria en Perl para el manejo de permisos. Mantiene la misma interfaz que
+SAMURAI_Perm, adaptandose al lenguaje.
+
+\section func Funcionamiento
+El funcionamiento es similar al del objeto de PHP. Primero debe 'crearse' el
+objeto llamando a la funcion new con los parametros correspondientes, esto
+cargara en una variable de sesion los datos. A partir de dichos datos
+trabajara con las diferentes funciones.
+
+\section uso Utilizacion
+Estos son los pasos para utilizar la libreria:
+
+Primero debe invocarse el archivo libreria:
+\code Execute('/var/www/sistemas/samurai/lib_perl/Perm.epl'); \endcode
+
+Luego se 'crea' el objeto:
+\code $ret->{SAMURAI_Perm}->{new} (<usuario>, <sistema>); \endcode
+En donde <usuario> es el login@organismo del usuario con el que se esta
+trabajando y <sistema> es el identificador numerico del sistema.
+
+Para cambiar el sistema en el cual se esta trabajando se utiliza el siguiente
+metodo:
+\code $ret->{SAMURAI_Perm}->{setSistema} (<sistema>); \endcode
+
+Para averiguar si el usuario tiene permisos en un sistema se utiliza el
+siguiente metodo:
+\code $ret->{SAMURAI_Perm}->{tiene} () \endcode
+En este caso devuelve 1 si el usuario tiene al menos un permiso en el sistema
+seteado.
+\code $ret->{SAMURAI_Perm}->{tiene} (<permiso A>, <permiso B>) \endcode
+En este caso devuelve 1 si el usuario tiene alguno de los permisos pasados por
+parametro. A diferencia de la libreria de perl, tiene solo puede recibir una
+lista de permisos, no acepta arrays por parametro.
+
+El metodo getPermisos permite obtener un hash con los permisos del usuario en un
+sistema determinado.
+Si se pasa un sistema por parametro devuelve los permisos de dicho sistema, en
+caso contrario devuelve los permisos del sistema seteado.
+\code $ret->{SAMURAI_Perm}->{getPermisos} (<sistema>) \endcode
+
+El metodo chequear verifica que el usuario tenga al menos un permiso de los
+pasados por parametro en el sistema. En caso de no tener ningun permiso imprime
+en pantalla el cartel de no autorizado y corta la ejecucion de la pagina.
+\code $ret->{SAMURAI_Perm}->{chequear} (<permiso A>, <permiso B>) \endcode
+
+El metodo getObservaciones devuelve un hash con las observaciones de un permiso
+en un sistema en particular.
+\code $ret->{SAMURAI_Perm}->{getObservaciones} (<permiso>,<sistema) \endcode
+*/
+?>
use Data::Dumper;
- Execute('./../lib_perl/Perm.epl');
+ Execute('/var/www/sistemas/samurai/lib_perl/Perm.epl');
#define('SAMURAI_PERM', 44);
#define('SAMURAI_PERM_DEVELOPER', 66);