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 en combinación con los métodos que cambian 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 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 desde 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 user, String password) | String | Devuelve el token de autorización del login. |
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 un 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()); } } }}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 está establecida a true, devuelve todos los roles —habilitados y deshabilitados—; en caso contrario devuelve solo 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 está establecida a true, devuelve todos los usuarios —habilitados y deshabilitados—; en caso contrario devuelve solo 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 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); 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 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); 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 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); 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 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); 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 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); 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 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); 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 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); 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 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); 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 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); 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 al grupo de 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 permisos 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()); } } }}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()); } } }}