Spring Security 3 – Parte 2- Java Magazine 88

Este artigo apresenta as novidades da versão 3 do Spring Security e descreve as principais modificações necessárias para realizar a migração da versão 2.x do framework.

Atenção: esse artigo tem dois vídeos complementares.
Clique e assista o primeiro!

Clique e assista o segundo!

Artigo no estilo: Curso

De que se trata o artigo:

Este artigo apresenta as novidades da versão 3 do Spring Security e descreve as principais modificações necessárias para realizar a migração da versão 2.x do framework.

Para que serve:

A nova versão do Spring Security serve para trazer menos dependências de pacotes, desacoplar as configurações, melhorar o apoio ao OpenID e permitir o uso do Kerberos nas suas aplicações. A migração da versão 2.x poderá servir para melhorar o desempenho dos aplicativos e permitir a utilização das novidades da versão 3.

Em que situação o tema é útil:

O tema é útil para os desenvolvedores que utilizam o Spring Security 2.x e desejam migrá-lo. Além disso, quem desenvolve aplicações web Java e se preocupa com a segurança, terá a disposição as últimas técnicas e extensões para auxiliar a resolver problemas específicos como, por exemplo, regras complexas de controle de acesso ou autenticação através de um servidor Kerberos.

Spring Security 3 – Parte 2:

O Spring Security é um framework que facilita a implementação de políticas de segurança nas aplicações. A sua nova versão trouxe diversas melhorias que serão apresentadas, dentre elas: uso da linguagem de expressão SpEL para controle de acesso das páginas, novos atributos (url, method, access) para a tag <authorize> da Spring Tag Library, melhorias no suporte ao OpenID com Attribute Exchange e a inclusão de uma extensão que permite a autenticação através do Kerberos. Para finalizar, conheceremos as principais mudanças para migrar da versão 2.x, a maioria delas relacionadas às configurações do arquivo XML do framework.

Na Edição 87 da Java Magazine publicamos a primeira parte de uma minissérie de dois artigos que tem como objetivo apresentar as novidades da versão 3 do framework de segurança Spring Security, assim como ensinar a utilizar e migrar para esta nova versão.

Na primeira parte abordamos os seguintes tópicos:

• Apresentação e diferenciação de dois conceitos básicos relacionados à segurança das aplicações: autenticação e autorização. A autenticação é uma maneira de tornar possível o acesso de um usuário a uma área restrita de uma aplicação. A autorização define permissões de acesso para as funcionalidades presentes nesta área restrita da aplicação;

• Criação de um aplicativo seguro utilizando a nova versão do Spring Security. Descrevemos como são realizadas as configurações necessárias no arquivo XML de segurança, responsáveis pelo funcionamento correto do framework. Entre elas, descrições sobre o banco de dados e as consultas necessárias para obter os usuários com permissão de acesso e suas autorizações;

• Evolução da aplicação construída utilizando uma tecnologia suportada pelo framework chamada OpenID. Esta tecnologia foi criada para permitir aos usuários um login único e seguro que possa ser usado em diversos sites da internet. Sua integração na aplicação exigiu novas configurações no arquivo XML de segurança, a inclusão de três bibliotecas específicas e algumas mudanças na página de login, tendo como objetivo criar um campo específico de login para os usuários que forem logar utilizando-o.

Nesta segunda parte, continuaremos a apresentar o Spring Security 3, focando nas principais novidades e nas alterações necessárias para migrar as aplicações que já utilizavam o Spring Security 2.x.

Entre as novidades, algumas que fazem parte do escopo deste artigo são: o uso da Spring Expression Language (SpEL) para auxiliar na definição de regras de acesso, novas maneiras de utilizar a tag <authorize> para permitir a renderização do conteúdo das páginas, melhorias para o uso do OpenID e modificações nas extensões suportadas.

A aplicação web com Spring Security 3, desenvolvida na primeira parte, será utilizada em certos momentos para exemplificar o uso de algumas novidades.

Novidades do Spring Security 3

A nova versão do framework trouxe diversas mudanças e melhorias para apoiar o desenvolvedor na garantia da segurança de suas aplicações. Conheceremos a seguir quais foram estas melhorias para que você possa decidir se já é o momento de utilizá-las.

Configuração de acesso utilizando SpEL

O SpEL é uma linguagem de expressão introduzida pelo Spring 3 que trouxe vários benefícios para o Spring Security. O seu principal objetivo é auxiliar na construção de novas regras para autorização de acesso a páginas e funcionalidades da aplicação.

O leitor pode utilizar o SpEL para obter uma maneira de acesso criteriosa nas suas aplicações. Podemos, por exemplo, realizar o controle de acesso através de um dos seus métodos, o hasAnyRole(), que é capaz de permitir acesso a usuários com autorizações distintas. Caso o objetivo seja que determinada página possa ser acessada por usuários com as permissões ROLE_ADMIN e ROLE_USER, poderíamos utilizá-lo assim: hasAnyRole(‘ROLE_ADMIN’,’ROLE_USER’).

Para ativar o uso do SpEL na sua aplicação, você deve adicionar o atributo use-expressions com o valor “true” na configuração do elemento <http>. Isso deve ser feito no arquivo de configuração applicationContext.xml, criado durante a primeira parte do artigo, da seguinte maneira:

<http use-expressions="true" ... >

Esta configuração irá modificar o comportamento do atributo access da tag <intercept-url>, passando a permitir somente expressões do SpEL no controle das URLs.

Para controlar o acesso apenas com o nome do papel, é necessário utilizar um método do SpEL chamado "

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados