TMACUL

CA SDM Brasil::. z_get_user_privileges 2018-02-22

Blog Post created by TMACUL Champion on Feb 23, 2018

CÓDIGO FONTE: z_get_user_privileges


Desenvolvi um novo método customizado na API da ferramenta SDM que permite verificar se as partições de dados e permissões de acesso de um objeto específico estão sendo respeitadas de acordo com a respectiva função do usuário logado.
Muito útil para usuários que desenvolveram novas operações webengine na ferramenta que alteram atributos de um objeto na modalidade 'one-click'.

 

COMO UTILIZAR?
1) Copie o arquivo 'z_get_user_privileges.spl' para a pasta $NX_ROOT/site/mods/majic;
2) Declare em algum arquivo .mod (Ex.: z_api.mod) a instrução abaixo:

OBJECT api {
FACTORY {
METHODS {
z_get_user_privileges(string, ...);
};
};
};


3) Reinicie a ferramenta SDM.

EXEMPLO:

void z_test()
{
int zi_depurar;
zi_depurar = 1;
string zs_metodo, zs_msg;
zs_metodo = 'z_test';
string zs_persid;
zs_persid = 'iss_wf:587983';
uuid zu_who;
zu_who = (uuid) 'F1CA5A43A27AE04DB88D4EDF438D42BF';
send_wait(0, top_object(), "call_attr", "api", "z_get_user_privileges", zs_persid);
//send_wait(0, top_object(), "call_attr", "api", "z_get_user_privileges", zs_persid, zu_who, "ALL");
//send_wait(0, top_object(), "call_attr", "api", "z_get_user_privileges", zs_persid, zu_who, "PREUPDATE", zi_depurar, zs_metodo);
if (msg_error()) {
zs_msg = format("%s ERRO ao consultar privilegios do usuario: '%s'", zs_metodo, msg[0]);
printf("ERRO ao consultar privilegios do usuario: '%s'", msg[0]);
return zs_msg;
}
int i;
for (i=0;i<msg_length();i++) {
printf("%s\n", msg[i]);
}
}

RETORNO DA EXECUÇÃO

D:\rotinas\Teste>bop_cmd -u servicedesk -f z_teste.spl "z_test()"
ACCESS_LEVEL
modify
VIEW
yes
PREUPDATE
yes
UPDATE
yes
CREATE
yes
DELETE
yes
DEFAULTS
yes

Bom proveito.

 

CA SDM Brasil Sumário - Índice 

 

As publicações descritas neste post foi postada inicialmente na comunidade do facebook denominada CA SDM Brasil  e criada Por: Daniel Bighelini

Outcomes