Skip to content

10_security

Douglas Fernandes Pereira da Silva Jr edited this page Jan 28, 2020 · 5 revisions

Spring Security - Rest API com Token JWT.

Começamos este passo na branch t04/end.

Vamos aqui exibir uma passo a passo para a construção do cadastro de usuários, autentização através de token, e autorização através de Roles.

1 - Criação de um API de cadastro de usuários.

Projeto

  1. Na package com.example.project.domain.dto.request :

  2. Na package com.example.project.domain.entities

  3. Na package com.example.project.exception, crie a classe BussinessRuleException.java. Arquivo Final

  4. Na package com.example.project.utils, crie a classe SiteRoles.java. Arquivo Final

  5. Na package com.example.project.repository

  6. Na package com.example.project.service, crie a classe SiteUserService.java. Arquivo Final

  7. Na package com.example.project.controller, crie a classe SiteUserController.java. Arquivo Final

Teste

  1. Na package com.example.project.controller, crie a classe SiteUserControllerIntTest.java. Arquivo Final

  2. Na package com.example.project.domain.dto.request, crie a classe UserCreateRequestTest.java. Arquivo Final

  3. Na package com.example.project.repository, crie a classe SiteUserRepositoryTest.java. Arquivo Final

  4. Na package com.example.project.service, crie a classe SiteUserServiceTest .java. Arquivo Final

Para ver as alterações completas DIFF das alterações

2 - Criação de um teste para como nossa API de autenticação deve ficar.

  1. Na package com.example.project.security, crie a classe BaseSecurityTest.java. Arquivo Final

Para ver as alterações completas DIFF das alterações

3 - Configuração do Sprint Security.

  1. Edite o pom.xml, para adicionar as dependências.Arquivo Final
  2. Na package com.example.project.domain.entities, edite a classe SiteRole.java. Arquivo Final
  3. Na package com.example.project.service, edite a classe SiteUserService.java. Arquivo Final
  4. Na package com.example.project.configuration.security
  • Crie o arquivo WebSecurityConfig.java. Arquivo Final
  • Crie a package filters:
  • Crie a package service
  1. Na pasta de testes:

Para ver as alterações completas DIFF das alterações

4 - Adicionando Roles, e ajustanto testes.

  1. No Projeto
  1. Nos Testes
  • Edite a classe ClientControllerTestIntTest.java. Arquivo Final
  • Edite a classe HelloWorldControllerIntTest.java. Arquivo Final
  • Crie a package com.example.project.security, e dentro a classe WithSecurity.java. Arquivo Final

Para ver as alterações completas DIFF das alterações

Clone this wiki locally