Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

No trecho abaixo, será abordado as diferenças entre as permissões nas API's e as permissões no RM. 


Inversão na Lógica das Permissões

As Permissões nas API's tem um conceito diferente das permissões no RM.

Quando um usuário não tem permissão em determinada rotina ou funcionalidade, para uma determinada coligada, usualmente o RM levanta uma exceção, onde é apresentado ao usuário o motivo do erro, através de uma janela.


Exemplo de Folha de Permissão no RM:

Usuário sem permissão para executar uma funcionalidade do sistema na coligada 1:

Image Added

Nas Api's, a permissão em uma rotina ou funcionalidade, para uma determinada coligada, se materializa como um filtro, limitando as informações às coligadas que o usuário tem acesso.


Exemplo de Permissão Filtrando por Coligada nas APIs:

Um usuário que tem permissão na coligada 6 e que executar, por exemplo a API de Parâmetros, terá informação apenas da coligada 6 mais os parâmetros que forem globais, ou seja, visíveis à todas as coligadas.

Usuário tem permissão apenas na coligada 6:

Image Added

6_gmailparams.PNGImage Added


Acesso a Campos

...

A segurança de campos apresenta o seguinte conceito:

...

Nas Api's, a permissão em uma rotina ou funcionalidade, para uma determinada coligada, se materializa como um filtro, limitando as informações às coligadas que o usuário tem acesso.

| GET:

• Se a restrição do campo for de "Pode visualizar e não pode alterar", o campo será retornado pela API normalmente.

• Se a restrição do campo for de "Não pode visualizar e não pode alterar", apenas esse campo não será retornado pela API. Lembrete: Um erro de permissão pode ser retornado caso exista filtro utilizando o campo com restrição de visualização.

| POST:

• Mesmo que o usuário envie uma requisição contendo, no Body, um campo com restrição de edição, a API irá ignorar esse campo enviado.

...

Caso não possua um valor default, ele será preenchido na base com o valor default do tipo de dado. Ex.: Int = 0; String = null.

| PUT e PATCH:

 • Usuários que tenham restrição de edição de campos, conseguirão utilizar o PUT/PATCH apenas se a requisição não tentar alterar o valor que o campo já possui na base.

...