O projeto está inativo

Projeto Java com autenticação via Spring Security

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

46

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

Black November

Desconto exclusivo para as primeiras 200 matrículas!

<Perguntas frequentes>

Carreira
Por onde devo iniciar os estudos?

Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.

Em quanto tempo vou me tornar um programador?

O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.

Eu preciso de um diploma de faculdade para começar a atuar como programador?

Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.

Por que a programação se tornou a profissão mais promissora da atualidade?

A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.

Metodologia
Quais são os principais diferenciais da DevMedia?

Didática e Metodologia Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.

O que eu irei aprender estudando pela DevMedia?

Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.

Quais as vantagens de aprender programação através da linguagem JavaScript?

  1. Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
  2. Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
  3. Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens

A plataforma oferece certificados?

Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.

A plataforma tem suporte ao aluno, como funciona?

Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.

A DevMedia me forma como programador Full Stack?

Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!

Tem horário para as aulas?

Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.

Por que a DevMedia não usa videoaulas em sua didática?

Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.

Preciso de um computador específico para estudar na DevMedia?

Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.

Eu consigo estudar pelo celular?

Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.

A DevMedia tem aplicativo?

Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.

Preciso estar na faculdade para acompanhar os estudos na DevMedia?

Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.

Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?

Oferecemos dois tipos de planos: o plano recorrente e o plano anual. No plano recorrente, a cobrança é lançada mensalmente no cartão de crédito, necessitando apenas do limite para uma parcela. No plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX ou no Boleto parcelado (sujeito à analise de crédito)

Adquirindo o plano, terei acesso a todo o conteúdo?

Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.

A plataforma tem planos vitalícios?

Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.

A DevMedia tem fidelidade?

Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.

Como funciona o cancelamento?

Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias, tanto no plano anual quanto no plano recorrente. Após esse período, se você estiver no plano recorrente e optar por cancelar antes de completar 12 meses, há uma taxa de 10% sobre o valor total. No plano anual, não há multas adicionais, mas o valor pago não é reembolsável.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.

A renovação é automática?

Sim, nosso plano anual renova automaticamente após 12 meses, proporcionando conveniência e continuidade no seu aprendizado. Na renovação automática não é debitado do seu cartão as 12 parcelas. Para facilitar e não prejudicar o seu limite, a renovação é feita no modelo recorrente, cobrando uma mensalidade a cada mês.
Além disso, a renovação não tem fidelidade, oferecendo total flexibilidade. Você também tem a liberdade de desativar a renovação automática a qualquer momento, garantindo controle absoluto sobre sua assinatura.

Cadastro
Como excluir meus dados da plataforma?

Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar