Allanfs / dgapp

REST API to a pizza store / API REST para pizzaria
0 stars 2 forks source link

Tipos de usuario do sistema #13

Open Allanfs opened 5 years ago

Allanfs commented 5 years ago

No sistema haverão, a principio, dois tipos de usuario: (i) administradores, aqueles que trabalham na pizzaria, que podem cadastrar, remover dados etc. (ii) clientes, aqueles que farão compras no sistema de vendas.

É preciso analisar formas de implementar esta separação na aplicação.

Security

O Spring Security possui formas de criar Roles e definir quem pode acessar determinado tipo de recurso. Para isso, deve-se criar classes UsuarioCliente, UsuarioAdministrador, por exemplo.

Verificar também, como implementar isso em aplicações REST.

Jackson

Deve ser verificado formas de abstrair informações de entidades conforme o nivel de acesso do usuario, por exemplo: um UsuarioCliente não deve ter informação sobre o Expediente que o pedido está presente.

Comente abaixo os links e documentações que permitam desenvolver esse requisito.

Allanfs commented 5 years ago

Ocultar campos de uma classe em Jackson. Utilizando um tipo de JsonView, assim cada tipo de usuario visualizaria os dados que lhe forem pertinentes. Stackoverflow

Allanfs commented 5 years ago

Criar uma camada que retorne objetos do tipo MappingJacksonValue. Esta camada ficaria antes da camada dos controllers dos recuros (produto, cliente, pedido, etc), e ela quem receberia as requisições (ou pelo menos responderia as mesmas). Assim teria:

REQUISIÇÃO --> endpoint do recurso endpoint do recurso --> camada de conversão para MappingJacksonValue --> RESPOSTA

Dynamic Selection Of JsonView in Spring MVC Controller