Objetivo
Este documento tem como objetivo auxiliar na definição de segurança de acesso aos serviços da WebAPI de acordo com as permissões concedidas na linha RM.
Atributo
Foi definido o seguinte atributo para decoração dos controllers e actions: RMApiAuthorize
Propriedade | Descrição |
---|
SecurityId | Id de Segurança do Controller. Deverá ser gerado pelo RM Especifica, da mesma forma que é gerado para Actions do RM. |
ExecuteId | Id de Permissão para operações (actions). Mesmo que é utilizado para Processos e Anexos na Linha RM. |
Module | Identificador do Módulo da Linha RM. Ex.: Serviços Globais - G |
Por padrão, o SecurityId e ExecuteId tem o valor zero.
Controllers com o SecurityId com o valor zero não tem sua autorização validada, da mesma forma que nas Actions e DataServers da linha RM.
Exemplos
No controller e/ou actions (métodos) deverá ser informado o atributo com as devidas configurações:
[RMApiAuthorize("G", 810000000)]
public class ExemploController : ApiController
{
public dynamic Values()
{
return { "Value1", "Value2" }
}
[RMApiAuthorize("G", 810000000, 1)]
public dynamic Show(int value)
{
return value;
}
}
Note o uso do atributos nas Linhas 1 e 9. Os métodos que não tiverem atributos definidos, herdarão a permissão definida no Controller.
Definição na Árvore de Permissões
Deverá ser definido no Menu Profile do Módulo, por exemplo GlbProfileController, de acordo com a hierarquia habitual (pages, groups, items, policies) a estrutura para definir a permissão e exibição na árvore de perfil.
As Pages e Groups devem ser definidos somente por questão de organização da árvore. No exemplo abaixo, foi criada uma página "Controllers (WebAPI)" e um grupo "Exemplo".