Muestra las diferencias entre dos versiones de la página.
| 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 ==== | ||