Ir al contenido
Otras versiones

Cargando…

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. 

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 “nodeId”. El valor de este parámetro puede ser el UUID de un nodo válido (carpeta, documento, correo, registro) o la ruta del nodo.

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”.

Descripción:

Método Valores devueltos 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 devueltos 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 devueltos 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
grantUser(String token, String nodeId, String user, int permissions, boolean recursive) void Añade un permiso de usuario sobre un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de tipo carpeta o registro.
  • 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
revokeUser(String token, String nodeId, String user, int permissions, boolean recursive) void Elimina un permiso de usuario sobre un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de tipo carpeta o registro.
  • 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
getGrantedUsers(String token, String nodeId) 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
grantRole(String token, String nodeId, String role, int permissions, boolean recursive) void Añade un permiso de rol sobre un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de tipo carpeta o registro.
  • 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
revokeRole(String token, String nodeId, String role, int permissions, boolean recursive) void Elimina un permiso de rol sobre un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de tipo carpeta o registro.
  • 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
getGrantedRoles(String token, String nodeId) 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
public void changeSecurity(String token, String nodeId, 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 nodeId = "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, nodeId, grantUsers, revokeUsers, grantRoles, revokeRoles, false);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos 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();
}
}
}

Descripción:

Método Valores devueltos Descripción
getProfiles(String token, boolean filterByActive) List Devuelve la lista de todos los perfiles.
  • Cuando el parámetro filterByActive está habilitado, el método devolverá solo los perfiles activos; en caso contrario, devolverá todos los perfiles disponibles.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
import com.openkm.bean.Profile;
public class Test {
public static void main(String[] args) {
try {
for (Profile profile : OKMAuth.getInstance().getProfiles(null, true)) {
System.out.println(profile);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getUserProfile(String token, String userId) Profile Devuelve el perfil asignado a un usuario.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
public class Test {
public static void main(String[] args) {
try {
System.out.println(OKMAuth.getInstance().getUserProfile(null, "okmAdmin"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
(String token, String userId, long profileId) void Cambia el perfil asignado a un usuario.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
import com.openkm.bean.Profile;
public class Test {
public static void main(String[] args) {
try {
// Set the profile named "default" to the user
for (Profile profile : OKMAuth.getInstance().getProfiles(null, true)) {
if (profile.getName().equals("default")) {
OKMAuth.getInstance().setUserProfile(null, "okmAdmin", profile.getId());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}