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.
Ejemplo de código sugerido
Sección titulada «Ejemplo de código sugerido»Primero debe crear el objeto webservice:
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);A continuación, debe iniciar sesión mediante el método “login”. Puede acceder al método “login” desde el objeto webservice “ws”, tal y como se muestra a continuación:
ws.login(user, password);Llegados a este punto puede usar todos los métodos de Auth de la clase “auth”, tal y como se muestra a continuación:
Dictionary<String, int> grants = ws.auth.getGrantedRoles("373bcdd0-c082-4e7b-addd-e10ef813946e");Métodos
Sección titulada «Métodos»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| login(String personalAccessToken) | String | Devuelve el token de acceso autorizado. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.impl;
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);
try { String personalAccessToken = "okmpat-ZRjVfMBcCp2tB1T2Dzbq"; ws.login(personalAccessToken); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| login(String user, String password) | String | Devuelve el token de acceso autorizado. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| String login(String user, String password, int expiration, bool restrictIp) | String | El proceso de login devuelve el token de autenticación. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.impl;
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); int days = 7; bool restrictIp = true; try { System.Console.WriteLine("Token: " + ws.login(user, password, days, restrictIp)); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| logout() | void | Ejecuta el método logout en el lado de OpenKM. |
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);
try { ws.login(user, password); ws.logout(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getRefreshToken
Sección titulada «getRefreshToken»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRefreshToken() | String | Renueva el token de autenticación actual. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.impl;
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); try { ws.login(user, password); String token = ws.getRefreshToken(); System.Console.WriteLine("New token : " + token); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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;using com.openkm.sdk4csharp.impl;
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); try { ws.login(user, password); Dictionary<String, int> grants = ws.auth.getGrantedRoles("14530e37-ac51-4a26-8049-0146a5916dec"); 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;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); Dictionary<String, int> grants = ws.auth.getGrantedUsers("14530e37-ac51-4a26-8049-0146a5916dec"); foreach (KeyValuePair<string, int> kvp in grants) { Console.WriteLine("{0} -> {1}", kvp.Key, kvp.Value); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getRoles
Sección titulada «getRoles»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getRoles(boolean showAll) | List |
Devuelve la lista de todos los roles. |
Cuando la variable showAll es true, devuelve todos los roles -habilitados y deshabilitados-; en caso contrario, solo devuelve los habilitados.
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);
try { ws.login(user, password); foreach (String role in ws.auth.getRoles(false)) { 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);
try { ws.login(user, password); foreach(String role in ws.auth.getRolesByUser("okmAdmin")) { System.Console.WriteLine(role); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUser
Sección titulada «getUser»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUser(String userId) | CommonUser | Devuelve 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);
try { ws.login(user, password); CommonUser user = ws.auth.getUser("okmAdmin"); System.Console.WriteLine(user.toString()); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUsers
Sección titulada «getUsers»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUsers(boolean showAll) | List |
Devuelve la lista de todos los usuarios. |
Cuando la variable showAll es true, devuelve todos los usuarios -habilitados y deshabilitados-; en caso contrario, solo devuelve los habilitados.
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);
try { ws.login(user, password); foreach (CommonUser user in ws.auth.getUsers(false)) { System.Console.WriteLine(user.toString()); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUsersByRole
Sección titulada «getUsersByRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUsersByRole(String roleId) | List |
Devuelve la lista de todos los usuarios que tienen 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);
try { ws.login(user, password); foreach (CommonUser user in ws.auth.getUsersByRole("ROLE_ADMIN")) { System.Console.WriteLine(user.toString()); } } 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);
try { ws.login(user, password); // Remove ROLE_USER write grants at the node but not descendants ws.auth.revokeRole("14530e37-ac51-4a26-8049-0146a5916dec", "ROLE_USER", Permission.ALL_GRANTS, false);
// Remove all ROLE_ADMIN grants to the node and descendants ws.auth.revokeRole("14530e37-ac51-4a26-8049-0146a5916dec", "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);
try { ws.login(user, password); // Remove john write grants at the node but not descendants ws.auth.revokeUser("14530e37-ac51-4a26-8049-0146a5916dec", "john", Permission.ALL_GRANTS, false);
// Remove all okmAdmin grants at the node and descendants ws.auth.revokeUser("14530e37-ac51-4a26-8049-0146a5916dec", "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);
try { ws.login(user, password); // Add ROLE_USER write grants at the node but not descendants ws.auth.grantRole("14530e37-ac51-4a26-8049-0146a5916dec", "ROLE_USER", Permission.ALL_GRANTS, false);
// Add all ROLE_ADMIN grants to the node and descendants ws.auth.grantRole("14530e37-ac51-4a26-8049-0146a5916dec", "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 userId, 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);
try { ws.login(user, password); // Add john write grants at the node but not descendants ws.auth.grantUser("14530e37-ac51-4a26-8049-0146a5916dec", "john", Permission.ALL_GRANTS, false);
// Add all okmAdmin grants at the node and descendants ws.auth.grantUser("14530e37-ac51-4a26-8049-0146a5916dec", "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);
try { ws.login(user, password); foreach (Profile profile in ws.auth.getProfiles(true)) { System.Console.WriteLine(profile.toString()); } } 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);
try { ws.login(user, password); System.Console.WriteLine(ws.auth.getUserProfile("okmAdmin").toString()); } 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);
try { ws.login(user, password); // Set the profile named "default" to the user foreach (Profile profile in ws.auth.getProfiles(true)) { 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);
try { ws.login(user, password); ws.auth.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 userId) | 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);
try { ws.login(user, password); ws.auth.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 userId, 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);
try { ws.login(user, password); ws.auth.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 roleId, 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);
try { ws.login(user, password); ws.auth.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 roleId) | 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);
try { ws.login(user, password); ws.auth.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 roleId, 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);
try { ws.login(user, password); ws.auth.updateRole("ROLE_TEST", true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}assignRole
Sección titulada «assignRole»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| assignRole(String userId, String roleId) | 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);
try { ws.login(user, password); ws.auth.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 userId, String roleId) | 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);
try { ws.login(user, password); ws.auth.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);
try { ws.login(user, password); Folder fld = ws.folder.createFolder("a978f8e6-aa87-4f0f-b7bc-6f44cb090fdf", "Folder1"); ChangeSecurity cs = new ChangeSecurity(); List<GrantedRole> grList = new List<GrantedRole>(); GrantedRole gr = new GrantedRole(); gr.role = "ROLE_TEST"; gr.permissions = Permission.READ | Permission.WRITE; grList.Add(gr); cs.grantedRolesList = grList; ws.auth.changeSecurity(fld.uuid, cs); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}overwriteSecurity
Sección titulada «overwriteSecurity»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| overwriteSecurity(String uuid, ChangeSecurity changeSecurity) | void | Sobrescribe 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);
try { ws.login(user, password); GrantedUser gu = new GrantedUser(); gu.user = pherrera; gu.permissions = Permission.READ | Permission.WRITE;
List<GrantedUser> guList = new List<GrantedUser>(); guList.Add(gu);
GrantedRole gr = new GrantedRole(); gr.role = "ROLE_TEST"; gr.permissions = Permission.READ | Permission.WRITE;
List<GrantedRole> grList = new List<GrantedRole>(); grList.Add(gr);
ChangeSecurity changeSecurity = new ChangeSecurity(); changeSecurity.recursive = false; changeSecurity.grantedUsersList = guList; changeSecurity.grantedRolesList = grList;
ws.auth.overwriteSecurity("4f873d10-654e-4d99-a94f-15466e30a0f6", changeSecurity); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getGrantedUsersAndRoles
Sección titulada «getGrantedUsersAndRoles»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getGrantedUsersAndRoles(String uuid) | GrantedUsersAndRolesItem | Devuelve los usuarios y roles con permisos concedidos sobre 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);
try { ws.login(user, password); GrantedUsersAndRolesItem grants = ws.auth.getGrantedUsersAndRoles("15e35aef-f1bb-451e-ac86-3b0f7c88ca9f"); foreach (KeyValuePair<string, int> user in grants.grantedUsers) { System.Console.WriteLine(user.Key + "->" + user.Value); } foreach (KeyValuePair<string, int> role in grants.grantedRoles) { System.Console.WriteLine(role.Key + "->" + role.Value); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}setUserPermissions
Sección titulada «setUserPermissions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setUserPermissions(String uuid, String userId, int permissions, bool recursive) | void | Actualiza los permisos de un usuario sobre un nodo. |
El parámetro recursive solo tiene sentido cuando uuid 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:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); // Set user permissions ws.auth.setUserPermissions("22c1d190-f798-489d-b420-2008cb38705b", "user1", Permission.READ + Permission.WRITE, false);
// Update permissions of okmAdmin at the node and descendants ws.auth.setUserPermissions("22c1d190-f798-489d-b420-2008cb38705b", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}setRolePermissions
Sección titulada «setRolePermissions»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setRolePermissions(String uuid, String roleId, int permissions, bool recursive) | void | Actualiza los permisos de un rol sobre un nodo. |
El parámetro recursive solo tiene sentido cuando uuid 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:8080/openkm"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try { ws.login(user, password); // Set role permissions ws.auth.setRolePermissions("22c1d190-f798-489d-b420-2008cb38705b", "ROLE_USER", Permission.READ + Permission.WRITE, false);
// Update permissions of ROLE_ADMIN at the node and descendants ws.auth.setRolePermissions("22c1d190-f798-489d-b420-2008cb38705b", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUserTenants
Sección titulada «getUserTenants»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUserTenants() | List |
Devuelve la lista de todos los tenants. |
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);
try { ws.login(user, password); List<Tenant> tenants = ws.auth.getUserTenants(); foreach (Tenant tenant in tenants) { System.Console.WriteLine(tenant.toString()); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}setUserTenant
Sección titulada «setUserTenant»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setUserTenant(long tenantId) | void | Cambia el tenant 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);
try { ws.login(user, password); long tenantId = 1; // Valid tenant id ws.auth.setUserTenant(tenantId); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}isAdmin
Sección titulada «isAdmin»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isAdmin() | bool | Comprueba si el usuario autenticado pertenece a los administradores. |
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);
try { ws.login(user, password); bool isAdmin = ws.auth.isAdmin(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getSessionId
Sección titulada «getSessionId»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSessionId() | String | Obtiene el ID de sesión HTTP. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); String id = ws.auth.getSessionId(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}hasSecurityRecursive
Sección titulada «hasSecurityRecursive»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| hasSecurityRecursive() | bool | Comprueba si el usuario tiene permiso para propagar la seguridad de forma recursiva. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); bool hasSecurityRecursive = ws.auth.hasSecurityRecursive(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}hasTaskManagerAdmin
Sección titulada «hasTaskManagerAdmin»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| hasTaskManagerAdmin() | bool | Comprueba si el usuario pertenece al rol “task manager admin”. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); bool hasSecurityRecursive = ws.auth.hasTaskManagerAdmin(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}isLoginLowercase
Sección titulada «isLoginLowercase»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isLoginLowercase() | bool | Devuelve true cuando el login del usuario debe estar en minúsculas. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); System.Console.WriteLine(ws.auth.isLoginLowercase().ToString()); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}isPasswordExpired
Sección titulada «isPasswordExpired»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isPasswordExpired() | Boolean | True cuando la contraseña del usuario ha expirado. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); System.Console.WriteLine("Password expired= " + ws.auth.isPasswordExpired().ToString()); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUserToken
Sección titulada «getUserToken»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUserToken(String userId) | String | Devuelve el token de autenticación de un usuario dado. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); String userToken = ws.auth.getUserToken("testUser"); Console.WriteLine("UserToken: " + userToken); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getUserToken
Sección titulada «getUserToken»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getUserToken(String userId, int expiration, bool restrictIp) | String | Devuelve el token de autenticación de un usuario dado. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try { ws.login(user, password); String userToken = ws.auth.getUserToken("testUser", 7, true); Console.WriteLine("UserToken: " + userToken); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}createPersonalAccessToken
Sección titulada «createPersonalAccessToken»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createPersonalAccessToken(String name, DateTime expiration) | String | Devuelve el token de acceso personal. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/openkm";
try { DateTime today = DateTime.Now; DateTime futureDate = today.AddDays(365);// create an expired token String personalAccessToken = ws.auth.createPersonalAccessToken("good-pat-test", futureDate); OKMWebservices ws= OKMWebservicesFactory.newInstance(Config.HOST); ws.login(personalAccessToken); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}