Herramientas de usuario

Herramientas del sitio


wiki2:oso

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki2:oso [2021/08/09 11:51]
alfred [Sintaxis]
wiki2:oso [2021/08/09 13:29] (actual)
Línea 177: Línea 177:
  
   * None -> nil   * None -> nil
 +  * int -> Integer
 +  * float -> Float
 +  * bool -> Boolean
 +  * list -> List
 +  * dict -> Dictionary
 +  * str -> String
  
 +Queries en listas o iterables (con yield):
 +<​code>​
 +allow(actor,​ _action, _resource) if "​payroll"​ in actor.get_groups();​
 +allow(actor,​ _action, _resource) if actor.groups.index("​HR"​) == 0;
 +</​code>​
 +
 +Diccionarios:​
 +<​code>​
 +# diccionario:​ user.roles = {"​project1":​ "​admin"​}
 +allow(actor,​ _action, _resource) if actor.roles.project1 = "​admin";​
 +</​code>​
 +
 +Podemos acceder a métodos estáticos si la clase ha sido registrada. Por ejemplo, para permitir el acceso total en entorno de desarrollo:
 +<​code>​
 +# En Python
 +class Env:
 +    @staticmethod
 +    def var(variable):​
 +        return os.environ[variable]
 +        ​
 +# En Polar
 +allow(_actor,​ _action, _resource) if Env.var("​ENV"​) = "​development";​
 +</​code>​
 ===== Cómo implementar... ===== ===== Cómo implementar... =====
 ==== RBAC ==== ==== RBAC ====
wiki2/oso.1628509906.txt.gz · Última modificación: 2021/08/09 12:51 (editor externo)