Seguridad en OpenERP

Creando Roles.

Como se ha comentando antes, los roles permiten agrupar los distintos grupos o trabajos que se establecen dentro de la empresa. Así el Grupo Comercial, podría estar compuesto por los roles siguientes:

Director Comercial (nivel superior)

  • Comercial 1
  • Comercial 2
  • Comercial 3.

En el ejemplo anterior, todos pertenecen al grupo comercial, pero el Dtor. Comercial es el que tiene asignado, dentro de la estructura jerárquica, el nivel de rol superior. Señalar que gracias a la estructura jerárquica de los roles, el rol de mayor rango, tiene derechos sobre los de nivel inferior.

Vamos a crear los siguientes grupos: Stock Dtor. Comercial Comercial./Salesman En la imagen adjunta, hemos creado el grupo Salesman, con acceso a menú de ventas exclusivamente.

:

Como podemos apreciar, dentro de un grupo puede haber múltiples usuarios, se pueden dar acceso a distintos apartados de menús (en nuestro ejemplo es sólo ventas).

Para crear los accesos a Menús, dentro de Grupos, pulsaremos a la opción añadir nuevo, y desde el menú desplegable que nos sale, seleccionaremos las opciones de acceso que nos interesen. Así por ejemplo, si deseamos que este grupo en concreto disponga de acceso a la configuración de producto, dentro de la pestaña Menú, añadiremos la opción de product/configuration, tal y como se muestra en la imagen adjunta:

Si observamos la imagen anterior, vemos que la pestaña de Productos/configuración ubicada en nombre completo, es la propia ubicación del acceso a menú dentro de openerp.

Advertencia: La restricción de accesos a menú no implica que no se puedan acceder a los distintos objetos desde otras partes de la aplicación. Es decir, si no se da acceso al menú financiero al dpto. Comercial, este podría acceder a las facturas, por ejemplo, desde el apartado ventas. Es decir, se pueden acceder a distintos objetos que se encuentren ocultos en otros menús de OpenERP. Hay que tener especial cuidado en que el administrador pertenezca a todos los grupos, ya que caso contrario, no podrá acceder a ese grupo. Caso contrario y como opción adicional, si no especificamos grupo alguno, entonces se tendrá acceso a todo.

Creando Reglas

Las reglas de registro nos permiten establecer condiciones sobre los objetos de OpenERP. De esta forma, podemos establecer reglas tanto sobre un grupo de usuarios, como a nivel global. La diferencia estriba en que si las reglas se establecen sobre un grupo de usuarios, sólo les afectan a estos, mientras que si no se especifica el grupo, la regla afecta a todos los usuarios del sistema.

Como se ha comentando anteriormente, podemos establecer cuatro niveles de registro sobre los objetos:

Lectura

Añadir registro

Editar registro

Borrar registro.

El paso siguiente, es cumplimentar el test que debe ser aplicado sobre el objeto (ir. Rule) dentro del menú: Administración->Seguridad., tal y como se muestra en la imagen adjunta:

Veamos cada uno de los campos que forman parte del objeto ir.rule:

Objeto: Es el objeto sobre el que se va a aplicar la regla.

Ejemplo: Si queremos aplicar una regla en donde cada usuario sólo pueda acceder a los datos que ha introducido en el sistema, entonces el objeto debe ser res.partner. Si queremos aplicar una regla en donde por ejemplo, el comercial sólo pueda acceder a los productos que tiene asignados, entonces, el objeto sobre el que establecer la regla de registro es product_manager.

Nombre: nombre identificativo que se da a la regla.

Por ejemplo. Comercial dedicado ..etc.

Global: Si está activada, esta regla se aplicaría a todos los grupos y si no está marcada se aplicaría sólo a los grupos seleccionados

Test: Una lista de todas las pruebas para el objeto. Lo primero que vemos es que en el test hay que especificar el domino de aplicación. El dominio nos permite regular los recursos que serán visibles para una restricción.

Así si por ejemplo, sólo queremos ver las facturas que estén en estado borrador, se podría definir una vista que sólo muestre las facturas en este estado. Es importante señalar que estas restricciones son código python e impactan sobre los siguientes elementos:

  • Campo: Nombre del objeto sobre el que se va a aplicar la restricción.
  • Operador que se utiliza para la prueba: (<,>, <>,=, >=,<=, en, hijo_de)
  • Operando: Valor del test.

Page 2 of 3 | Previous page | Next page