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

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}