OKMAuth
Se utiliza para gestionar la seguridad y los usuarios. Por ejemplo, añadir o quitar permisos sobre un nodo, crear o modificar usuarios u obtener los perfiles.
Conceptos básicos
Sección titulada «Conceptos básicos»La clase com.openkm.bean.Permission contiene los valores de permiso (READ, WRITE, etc.). Debe utilizarla junto con los métodos que modifican u obtienen permisos de seguridad.
En casi todos los métodos verá un parámetro llamado “nodePath”. El valor de este parámetro puede ser una ruta de nodo válida ( carpeta, documento, correo).
Además, en todos los métodos verá un parámetro llamado “token”. Al acceder a la aplicación a través de SOAP, el proceso de inicio de sesión devuelve un token, que se utiliza para identificar al usuario en todos los métodos expuestos. Desde el contexto de ejecución por defecto de la aplicación debe utilizar el valor “null”, que indica a la aplicación que debe utilizar la “sesión del usuario”.
Métodos
Sección titulada «Métodos»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| login() | void | Simula el proceso de inicio de sesión del usuario en la interfaz. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().login(); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| login(String user, String pass) | void | Simula el proceso de inicio de sesión del usuario en la interfaz. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().login("userId","password"); } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| logout() | void | Cierra la sesión del usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().logout(); } catch (Exception e) { e.printStackTrace(); } }}grantUser
Sección titulada «grantUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| grantUser(String token, String nodePath, String user, int permissions, boolean recursive) | void | Añade un permiso de usuario sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodePath es un nodo de tipo carpeta.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;
public class Test { public static void main(String[] args) { try { // Add john write grants at the node but not descendants OKMAuth.getInstance().grantUser(null, "/okm:root", "john", Permission.ALL_GRANTS, false);
// Add all okmAdmin grants at the node and descendants OKMAuth.getInstance().grantUser(null, "/okm:root", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}revokeUser
Sección titulada «revokeUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| revokeUser(String token, String nodePath, String user, int permissions, boolean recursive) | void | Elimina un permiso de usuario sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodePath es un nodo de tipo carpeta.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;
public class Test { public static void main(String[] args) { try { // Remove john write grants at the node but not descendants OKMAuth.getInstance().revokeUser(null, "/okm:root", "john", Permission.ALL_GRANTS, false);
// Remove all okmAdmin grants at the node and descendants OKMAuth.getInstance().revokeUser(null, "/okm:root", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}getGrantedUsers
Sección titulada «getGrantedUsers»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGrantedUsers(String token, String nodePath) | Map<String, Integer> | Devuelve los usuarios con permisos sobre un nodo. |
Ejemplo:
package com.openkm;
import java.util.Map;import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { Map<String, Integer> grants = OKMAuth.getInstance().getGrantedUsers(null, "/okm:root"); for (String role : grants.keySet()) { System.out.println(role + "->" + grants.get(role)); } } catch (Exception e) { e.printStackTrace(); } }}grantRole
Sección titulada «grantRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| grantRole(String token, String nodePath, String role, int permissions, boolean recursive) | void | Añade un permiso de rol sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodePath es un nodo de tipo carpeta.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;
public class Test { public static void main(String[] args) { try { // Add ROLE_USER write grants at the node but not descendants OKMAuth.getInstance().grantRole(null, "/okm:root", "ROLE_USER", Permission.ALL_GRANTS, false);
// Add all ROLE_ADMIN grants to the node and descendants OKMAuth.getInstance().grantRole(null, "/okm:root", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}revokeRole
Sección titulada «revokeRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| revokeRole(String token, String nodePath, String role, int permissions, boolean recursive) | void | Elimina un permiso de rol sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodePath es un nodo de tipo carpeta.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;
public class Test { public static void main(String[] args) { try { // Remove ROLE_USER write grants at the node but not descendants OKMAuth.getInstance().revokeRole(null, "/okm:root", "ROLE_USER", Permission.ALL_GRANTS, false);
// Remove all ROLE_ADMIN grants to the node and descendants OKMAuth.getInstance().revokeRole(null, "/okm:root", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}getGrantedRoles
Sección titulada «getGrantedRoles»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGrantedRoles(String token, String nodePath) | Map<String, Integer> | Devuelve los roles con permisos sobre un nodo. |
Ejemplo:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { Map<String, Integer> grants = OKMAuth.getInstance().getGrantedRoles(null,"/okm:root"); for (String role : grants.keySet()) { System.out.println(role + "->" + grants.get(role)); } } catch (Exception e) { e.printStackTrace(); } }}getUsers
Sección titulada «getUsers»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUsers(String token) | List |
Devuelve la lista de todos los usuarios. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { for (String user : OKMAuth.getInstance().getUsers(null)) { System.out.println(user); } } catch (Exception e) { e.printStackTrace(); } }}getRoles
Sección titulada «getRoles»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRoles(String token) | List |
Devuelve la lista de todos los roles. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { for (String user : OKMAuth.getInstance().getRoles(null)) { System.out.println(user); } } catch (Exception e) { e.printStackTrace(); } }}getUsersByRole
Sección titulada «getUsersByRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUsersByRole(String token, String role) | List |
Devuelve la lista de todos los usuarios que tienen asignado un rol. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { for (String user : OKMAuth.getInstance().getUsersByRole(null, "ROLE_ADMIN")) { System.out.println(user); } } catch (Exception e) { e.printStackTrace(); } }}getRolesByUser
Sección titulada «getRolesByUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRolesByUser(String token, String user) | List |
Devuelve la lista de todos los roles asignados a un usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { for (String role : OKMAuth.getInstance().getRolesByUser(null, "okmAdmin")) { System.out.println(role); } } catch (Exception e) { e.printStackTrace(); } }}getMail
Sección titulada «getMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getMail(String token, String user) | String | Devuelve el correo de un usuario válido. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { System.out.println(OKMAuth.getInstance().getMail(null, "okmAdmin")); } catch (Exception e) { e.printStackTrace(); } }}getName
Sección titulada «getName»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getName(String token, String user) | String | Devuelve el nombre de un usuario válido. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { System.out.println(OKMAuth.getInstance().getName(null, "okmAdmin")); } catch (Exception e) { e.printStackTrace(); } }}changeSecurity
Sección titulada «changeSecurity»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| public void changeSecurity(String token, String nodePath, Map<String, Integer> grantUsers, Map<String, Integer> revokeUsers, Map<String, Integer> grantRoles, Map<String, Integer> revokeRoles, boolean recursive) |
void | Cambia la seguridad de un nodo. |
Ejemplo:
package com.openkm;
import java.util.*;import com.openkm.bean.Permission;import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { String nodePath = "b9736924-bb97-4e2c-8450-138c21e0c9d5"; Map<String, Integer> grantUsers = new HashMap<>(); Map<String, Integer> revokeUsers = new HashMap<>(); Map<String, Integer> grantRoles = new HashMap<>(); grantRoles.put("ROLE_TEST", Permission.READ | Permission.WRITE); Map<String, Integer> revokeRoles = new HashMap<>(); OKMAuth.getInstance().changeSecurity(null, nodePath, grantUsers, revokeUsers, grantRoles, revokeRoles, false); } catch (Exception e) { e.printStackTrace(); } }}createUser
Sección titulada «createUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createUser(String token, String user, String password, String email, String name, boolean active) | void | Crea un nuevo usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().createUser(null, "test", "password.2016", "some@mail.com", "User Name", true); } catch (Exception e) { e.printStackTrace(); } }}deleteUser
Sección titulada «deleteUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteUser(String token, String user) | void | Elimina un usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().deleteUser(null, "test"); } catch (Exception e) { e.printStackTrace(); } }}updateUser
Sección titulada «updateUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateUser(String token, String user, String password, String email, String name, boolean active) | void | Actualiza un usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().updateUser(null, "test", "newpassword", "some@mail.com", "Test", false); } catch (Exception e) { e.printStackTrace(); } }}createRole
Sección titulada «createRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createRole(String token, String role, boolean active) | void | Crea un nuevo rol. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().createRole(null, "ROLE_TEST", true); } catch (Exception e) { e.printStackTrace(); } }}deleteRole
Sección titulada «deleteRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteRole(String token, String role) | void | Elimina un rol. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().deleteRole(null, "ROLE_TEST"); } catch (Exception e) { e.printStackTrace(); } }}updateRole
Sección titulada «updateRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateRole(String token, String role, boolean active) | void | Actualiza un rol. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().updateRole(null, "ROLE_TEST",true); } catch (Exception e) { e.printStackTrace(); } }}assignRole
Sección titulada «assignRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| assignRole(String token, String user, String role) | void | Asigna un rol a un usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().assignRole(null, "test", "ROLE_USER"); } catch (Exception e) { e.printStackTrace(); } }}removeRole
Sección titulada «removeRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| removeRole(String token, String user, String role) | void | Quita un rol a un usuario. |
Ejemplo:
package com.openkm;
import com.openkm.api.OKMAuth;
public class Test { public static void main(String[] args) { try { OKMAuth.getInstance().removeRole(null, "test", "ROLE_USER"); } catch (Exception e) { e.printStackTrace(); } }}