Eneboo - Documentación para desarrolladores
|
#include <FLAccessControlLists.h>
Métodos públicos | |
FLAccessControlLists () | |
~FLAccessControlLists () | |
QString | name () |
void | init () |
void | init (const QString &aclXml) |
void | process (QObject *obj) |
void | installACL (const QString &idacl) |
Gestiona listas de control de acceso.
Los controles de acceso o reglas de control de acceso que pertenecen a una lista son de la clase FLAccessControl. Con el mtodo FLAccessControlLists::init se puede establecer una nueva lista de controles de acceso, para tal fin este mtodo utiliza FLAccessControl::set y el contenido del fichero "acl.xml", si este fichero no existe como parte de los ficheros de AbanQ (est en la tabla flfiles) se establecer una lista vaca.
La lista establecida mediante FLAccessControlLists::init ser la utilizada a partir de ese momento para el control de acceso de los objetos de alto nivel que sean pasados por el mtodo FLAccessControlLists::process.
Adicionalmente con el mtodo FLAccessControlLists::installACL se puede crear un nuevo fichero "acl.xml" y almacenarlo como parte de los ficheros de AbanQ, sustituyendo al anterior si existiera. Para la creacin del fichero "acl.xml", este mtodo utiliza la informacin almacenada en las siguiente tablas del sistema :
El mtodo FLAccessControlLists::installACL no regenerar la lista de control de acceso, su nica funcin es crear el fichero y almacenarlo en la tabla flfiles, para establecer la lista con el nuevo contenido de este fichero hay que llamar a FLAccessControlLists::init inmediatamente despus.
Varios mtodos de esta clase utilizan FLAccessControlFactory, por lo tanto los tipos de objetos controladores que se espera que gestionen distintas reglas de control de acceso debern estar registrados con anterioridad en FLAccessFactory.
Ejemplo de fichero acl.xml :
<!DOCTYPE ACL> <ACL> <name>prueba</name> <form perm="" > <name>formRecordclientes</name> <user>falbujer</user> <aco perm="r-" >pbDomFacturacion</aco> </form> <mainwindow perm="" > <name>container</name> <user>falbujer</user> <aco perm="--" >flfactteso</aco> <aco perm="--" >flfactalma</aco> </mainwindow> <mainwindow perm="" > <name>flfactppal</name> <group>contables</group> <aco perm="--" >agentes</aco> </mainwindow> <table perm="" > <name>clientes</name> <user>falbujer</user> <aco perm="--" >cifnif</aco> </table> </ACL>
FLAccessControlLists::FLAccessControlLists | ( | ) |
Constructor
FLAccessControlLists::~FLAccessControlLists | ( | ) |
Destructor
void FLAccessControlLists::init | ( | ) |
Lee el fichero "acl.xml" y establece una nueva lista de control de acceso.
Si el fichero "acl.xml" no se puede leer, la lista de control de acceso queda vaca y no se procesar ningn control de acceso sobre ningn objeto.
void FLAccessControlLists::init | ( | const QString & | aclXml | ) |
Esencialmente hace lo mismo que el mtodo anterior pero leyendo el contenido desde la cadena de texto indicada.
aclXml | Contenido XML con la definicin de la lista de control de acceso. |
void FLAccessControlLists::installACL | ( | const QString & | idacl | ) |
Crea un nuevo fichero "acl.xml" y lo almacena sustituyendo el anterior, en el caso de que exista.
idacl | Identificador del registro de la tabla "flacls" a utilizar para crear "acl.xml". |
QString FLAccessControlLists::name | ( | ) | [inline] |
Para obtener el nombre que identifica la lista de control de acceso actualmente establecida.
void FLAccessControlLists::process | ( | QObject * | obj | ) |
Procesa un objeto de alto nivel segn la lista de control de acceso establecida.
obj | Objeto de alto nivel al que aplicar el control de acceso. Debe ser o heredar de la clase QObject. |