|
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 método FLAccessControlLists::init se puede establecer una nueva lista de controles de acceso, para tal fin este método 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 vacía.
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 método FLAccessControlLists::process.
Adicionalmente con el método 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 creación del fichero "acl.xml", este método utiliza la información almacenada en las siguiente tablas del sistema :
El método FLAccessControlLists::installACL no regenerará la lista de control de acceso, su única función 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 después.
Varios métodos de esta clase utilizan FLAccessControlFactory, por lo tanto los tipos de objetos controladores que se espera que gestionen distintas reglas de control de acceso deberán 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 vacía y no se procesará ningún control de acceso sobre ningún objeto.
| void FLAccessControlLists::init | ( | const QString & | aclXml | ) |
Esencialmente hace lo mismo que el método anterior pero leyendo el contenido desde la cadena de texto indicada.
| aclXml | Contenido XML con la definición 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 según 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. |
1.7.4