Páginas filhas
  • Segurança dos Serviços (WebAPI) - Autorização

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.

ExecuteIdId de Permissão para operações (actions). Mesmo que é utilizado para Processos e Anexos na Linha RM.
ModuleIdentificador 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:

ExemploController
[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".

Importante

Lembrando que itens com Tag vazia ou igual a zero, NÃO são mostrados na árvore de permissão. O Ids de Segurança devem ser gerados pelo RM Especifica, do mesmo modo que é feito para Actions do RM.

As permissões são validadas independente de Coligada do RM, visto que temos APIs independentes de contexto. 




Produto: Framework

Versão: 12.1.21

Processo: Segurança de serviços REST (Web API)

Índice