Auth samples
Aspectos básicos
Sección titulada «Aspectos básicos»La clase com.openkm.sdk4csharp.bean.Permission contiene los valores de permiso (READ, WRITE, etc.). Debe usarla junto con los métodos que cambian o consultan los permisos de seguridad.
En casi todos los métodos, verá un parámetro llamado “nodeId”. El valor de este parámetro puede ser un UUID de nodo válido (carpeta, documento, correo, expediente) o una ruta de nodo.
Métodos
Sección titulada «Métodos»getGrantedRoles
Sección titulada «getGrantedRoles»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGrantedRoles(String nodeId) | Dictionary<String, int> | Devuelve los roles con permisos concedidos sobre un nodo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { Dictionary<String, int> grants = ws.getGrantedRoles("/okm:root"); foreach (String role in grants.Keys) { System.Console.WriteLine("role ->" + role); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getGrantedUsers
Sección titulada «getGrantedUsers»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGrantedUsers(String nodeId) | Dictionary<String, int> | Devuelve los usuarios con permisos concedidos sobre un nodo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { Dictionary<String, int> grants = ws.getGrantedUsers("/okm:root"); foreach (KeyValuePair<string, int> kvp in grants) { Console.WriteLine("{0} -> {1}", kvp.Key, kvp.Value); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getMail
Sección titulada «getMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getMail(String user) | String | Devuelve el correo de un usuario válido. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { System.Console.WriteLine(ws.getMail("okmAdmin")); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getName
Sección titulada «getName»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getName(String user) | String | Devuelve el nombre de un usuario válido. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { System.Console.WriteLine(ws.getName("okmAdmin")); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } System.Console.ReadKey(); } }}getRoles
Sección titulada «getRoles»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRoles() | List |
Devuelve la lista de todos los roles. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (String role in ws.getRoles()) { System.Console.WriteLine(role); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getRolesByUser
Sección titulada «getRolesByUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRolesByUser(String user) | List |
Devuelve la lista de todos los roles asignados a un usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach(String role in ws.getRolesByUser("okmAdmin")) { System.Console.WriteLine(role); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUsers
Sección titulada «getUsers»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUsers() | List |
Devuelve la lista de todos los usuarios. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (String user in ws.getUsers()) { System.Console.WriteLine(user); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUsersByRole
Sección titulada «getUsersByRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUsersByRole(String role) | List |
Devuelve la lista de todos los usuarios a los que se ha asignado un rol. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (String user in ws.getUsersByRole("ROLE_ADMIN")) { System.Console.WriteLine(user); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}revokeRole
Sección titulada «revokeRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| revokeRole(String nodeId, String role, int permissions, boolean recursive) | void | Elimina el permiso concedido a un rol sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodeId es una carpeta o un expediente.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Remove ROLE_USER write grants at the node but not descendants ws.revokeRole("/okm:root", "ROLE_USER", Permission.ALL_GRANTS, false); // Remove all ROLE_ADMIN grants to the node and descendants ws.revokeRole("/okm:root", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}revokeUser
Sección titulada «revokeUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| revokeUser(String nodeId, String user, int permissions, boolean recursive) | void | Elimina el permiso concedido a un usuario sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodeId es una carpeta o un expediente.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Remove john write grants at the node but not descendants ws.revokeUser("/okm:root", "john", Permission.ALL_GRANTS, false);
// Remove all okmAdmin grants at the node and descendants ws.revokeUser("/okm:root", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}grantRole
Sección titulada «grantRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| grantRole(String nodeId, String role, int permissions, boolean recursive) | void | Añade un permiso concedido a un rol sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodeId es una carpeta o un expediente.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Add ROLE_USER write grants at the node but not descendants ws.grantRole("/okm:root", "ROLE_USER", Permission.ALL_GRANTS, false); // Add all ROLE_ADMIN grants to the node and descendants ws.grantRole("/okm:root", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}grantUser
Sección titulada «grantUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| grantUser(String nodeId, String user, int permissions, boolean recursive) | void | Añade un permiso concedido a un usuario sobre un nodo. |
- El parámetro recursive solo tiene sentido cuando nodeId es una carpeta o un expediente.
- Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Add john write grants at the node but not descendants ws.grantUser("/okm:root", "john", Permission.ALL_GRANTS, false); // Add all okmAdmin grants at the node and descendants ws.grantUser("/okm:root", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getProfiles
Sección titulada «getProfiles»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getProfiles(boolean filterByActive) | List |
Devuelve la lista de todos los perfiles. |
- Cuando el parámetro filterByActive está activado, el método devuelve solo los perfiles activos; en caso contrario, devuelve todos los perfiles disponibles.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (Profile profile in ws.getProfiles(true)) { System.Console.WriteLine(profile); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUserProfile
Sección titulada «getUserProfile»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUserProfile(String userId) | Profile | Devuelve el perfil asignado a un usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { System.Console.WriteLine(ws.getUserProfile("okmAdmin")); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}setUserProfile
Sección titulada «setUserProfile»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setUserProfile(String userId, long profileId) | void | Cambia el perfil asignado a un usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Set the profile named "default" to the user foreach (Profile profile in ws.getProfiles(true).profiles) { if (profile.name.Equals("default")) { ws.setUserProfile("okmAdmin", profile.id); } } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}createUser
Sección titulada «createUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createUser(String user, String password, String email, String name, Boolean active) | void | Crea un nuevo usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.createUser("test", "password.2016", "some@mail.com", "User Name", true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}deleteUser
Sección titulada «deleteUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteUser(String user) | void | Elimina un usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.deleteUser("test"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}updateUser
Sección titulada «updateUser »Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateUser(String user, String password, String email, String name, Boolean active) | void | Actualiza un usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.updateUser("test", "newpassword", "some@mail.com", "Test", false); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}createRole
Sección titulada «createRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createRole(String role, boolean active) | void | Crea un nuevo rol. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.createRole("ROLE_TEST", true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}deleteRole
Sección titulada «deleteRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteRole(String role) | void | Elimina un rol. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.deleteRole("ROLE_TEST"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}updateRole
Sección titulada «updateRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateRole(String role, boolean active) | void | Actualiza un rol. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.updateRole("ROLE_TEST", true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}assingRole
Sección titulada «assingRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| assingRole(String user, String role) | void | Asigna un rol a un usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.assignRole("test", "ROLE_USER"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}removeRole
Sección titulada «removeRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| removeRole(String user, String role) | void | Elimina un rol de un usuario. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.removeRole("test", "ROLE_USER"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}changeSecurity
Sección titulada «changeSecurity»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| changeSecurity(ChangeSecurity changeSecurity) | void | Cambia la seguridad de un nodo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ChangeSecurity cs = new ChangeSecurity(); cs.nodeId = "7f3e8715-945d-4d0f-a66c-444c2b0c6dcd"; GrantedRoleList grList = new GrantedRoleList(); GrantedRole gr = new GrantedRole(); gr.role = "ROLE_TEST"; gr.permissions = Permission.READ | Permission.WRITE; grList.grantedRoles.Add(gr); cs.grantedRolesList = grList; ws.changeSecurity(cs); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| login() | void | Simula el proceso de primer inicio de sesión. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.login(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}