Série da semana: Angular, API RESTful e Banco de Dados

Veja mais
O projeto está inativo

Primeiros passos com Spring Security

Nesta documentação aprenderemos a controlar o acesso a uma aplicação web utilizando os recursos disponibilizados pelo Spring Security.

Introdução

A partir de agora você aprenderá como programar a segurança de aplicações web com Spring Security. Apesar de muitos verem esta tarefa como algo não trivial, você verá que esse framework facilita bastante a programação da camada de segurança. Resumindo, você vai ver como se torna simples lidar com autenticação e autorização na web utilizando o framework de segurança mais recomendado atualmente no mundo Java: o Spring Security.

Devido à simplicidade desse framework, neste conteúdo de primeiros passos você aprenderá a:

  • Controlar o acesso à aplicação;
  • Criar uma página de login customizada;
  • Programar os mecanismos de login e logout;
  • Exibir na home o login do usuário conectado;
  • Proteger o acesso a algumas páginas conforme as permissões do usuário;
  • Configurar a opção remember-me.

Ao final você terá conhecimento suficiente para começar a lidar com um requisito comum a praticamente todas as aplicações web. E então, vamos começar?

O que é Spring Security?

O que é Spring Security Criação do Spring Security Com ele nossa segurança deixa de ser amadora E passa a ser profissional Framework indicado características ok, entendido Como ele possibilita isso Veremos nesse curso

Ferramentas e tecnologias

Com relação a ferramentas e tecnologias, além do Spring MVC e Spring Boot, utilizaremos, como de costume, o IDE Intellij IDEA e o Maven. Para programar a camada de segurança faremos uso do framework Spring Security, foco principal deste curso, e como um interessante complemento, utilizaremos um módulo do Thymeleaf que se integra ao Spring Security e nos fornece algumas facilidades interessantes.

Aqui, é válido ressaltar que o uso do Spring Security não se limita a projetos baseados no Spring Framework. Uma aplicação com JSF, EJB, CDI, entre outras opções pode ter a camada de segurança programada com Spring Security. Porém, também é válido ressaltar que tendo o Spring como base você terá à disposição mais alguns recursos e facilidades, devido à integração dessas tecnologias.

A aplicação exemplo

Com o propósito de explorar os recursos do Spring Security, programaremos uma aplicação web bastante simples, a qual você conhecerá a partir de agora.

Ao acessar http://localhost:8080 no browser, somos direcionados para uma tela de login customizada (Figura 1). Esse direcionamento para a tela de login acontece porque o acesso à aplicação é feito apenas por usuários cadastrados.

Tela de login para acesso à aplicação
Figura 1. Tela de login para acesso à aplicação

No form de login, além dos campos de login e senha, note que também temos um checkbox que nos permite utilizar a funcionalidade de remember-me.

Para demonstrar seu funcionamento e conhecermos a aplicação, vamos marcar essa opção e logar com o usuário eduardo e senha 123456 (Figura 2). Ao fazer isso, somos direcionados para a home da aplicação. Nela, observe que temos uma mensagem de boas-vindas customizada, apresentando o nome do usuário logado, e sobre essa mensagem temos um menu.

Tela de login pronta para autenticação
Figura 2. Tela de login pronta para autenticação

Antes de falar sobre ele, vamos fechar o browser e abrir novamente. Feito isso, ao acessar localhost:8080 novamente, não será necessário informar os dados de login e senha mais uma vez, graças à funcionalidade remember-me que marcamos na página de login.

Agora, voltando a analisar a home, apresentada na Figura 3, nesse menu temos acesso a outras duas páginas estáticas: uma que exibe informações de usuários fictícios e outra que exibe dados de acesso de um site. Elas foram criadas para que eu possa apresentar como prover o controle de acesso com Spring Security.

Home da aplicação
Figura 3. Home da aplicação

O usuário eduardo tem permissão de EDITOR e ADMIN e por isso ele consegue acessar as duas páginas. A usuária fernanda, por sua vez, tem o privilégio apenas de EDITOR. Para demonstrar isso, vamos fazer logoutc licando no botão Sair.

Ao fazer isso voltamos para a tela de login. Nessa tela, informe o login fernanda e a senha 123456. Ao clicar em login, note que a tela de boas-vindas já faz referência a essa usuária e no menu superior, note que não é exibida a opção para acesso à tela de listagem de usuários, visto que Fernanda não tem permissão para acessar essa página (Figura 4).

Home acessada após a usuária fernanda se autenticar
Figura 4. Home acessada após a usuária fernanda se autenticar
Descubra mais sobre Autenticação
Suporte ao aluno - Deixe a sua dúvida.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrado através do seu cartão de crédito. *Tempo minimo de assinatura: 12 meses.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
Conheça agora!
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrada através do seu cartão de crédito. *Tempo mínimo de assinatura: 12 meses.