Quem trabalha com vários bancos de dados e linguagens de programação (especialmente o Java) visa trazer às suas soluções qualidade.
Hoje uma das soluções mais usadas é o Spring Security!
Como este é nosso primeiro projeto falando sobre esta solução, estaremos falando um pouco sobre ele e dando alguns exemplos!
Porque Usar O Spring Security?
Aplicações comerciais geralmente necessitam de uma segurança a mais!
O grande erro do mercado é um empresário que está começando ou já começou a exercer suas atividades e ao invés de investir em um profissional qualificado (geralmente por causa do preço que é um pouco mais elevado), investe naquele “sobrinho” que acabou de finalizar seu curso de Programação ou Design!
Por este motivo, existem milhares de aplicações com brechas de segurança e falhas grave que facilitam o acesso de pessoas com más intenções (exemplo: crackers).
O Spring Security serve exatamente para isso; dar a segurança necessária para sua aplicação!
Bem… como grande parte do código é escrito em Java, profissionais iniciantes poderão ter um pouco de dificuldade para assimilar!
Para evitar isso, preste bastante atenção no ficheiro “applicationContext.xml” (responsável pela conexão).
Criando A Base de Dados
Antes de qualquer coisa, precisaremos criar nossa base de dados; Para isso, abra seu gerenciador de base de dados e carregue o script a seguir:
Ele deverá criar a base de dados com nome “security” e a tabela “users”.
----- Criando a Base de Dados -----
create database security;
use security;
CREATE TABLE users(
username VARCHAR(15) NOT NULL,
password VARCHAR(40),
authority VARCHAR(15),
PRIMARY KEY (username)
);
Efetuando A Conexão JDBC
Após criar a base de dados, se você ainda não tiver instalado, baixe o driver JDBC (mais conhecido como Connector J 5.1).
Esta aplicação lhe dará a possibiidade de conectar o Java ao MySQL usando o ODBC.
Adicionando Bibliotecas
Um dos softwares mais práticos no desenvolvimento de Projetos em Spring Security é o SpringSource Tool Suite. Para elaborar seus Projetos e usar esta ferramenta, faça seu cadastro e baixe o aplicativo.
OBS.: Ao utilizar o sistema,não se esqueça de adicionar a biblioteca do JDBC e do MySQL à biblioteca do JAR do Spring Framework (conforme imagem e informações a seguir).
- Clique com o lado direito do mouse em cima do Projeto;
- Em Project Explorer selecione “Properties”;
- Em seguida, selecione “Java EE Module Dependencies”;
- Clique em “Add External Jars”, adicionando os arquivos a seguir:
- org.springframework.aop-3.0.2.RELEASE.jar
- org.springframework.asm-3.0.2.RELEASE.jar
- org.springframework.beans-3.0.2.RELEASE.jar
- org.springframework.context-3.0.2.RELEASE.jar
- org.springframework.core-3.0.2.RELEASE.jar
- org.springframework.expression-3.0.2.RELEASE.jar
- org.springframework.transaction-3.0.2.RELEASE.jar
- org.springframework.web-3.0.2.RELEASE.jar
- spring-security-config-3.0.2.RELEASE.jar
- spring-security-core-3.0.2.RELEASE.jar
- spring-security-taglibs-3.0.2.RELEASE.jar
- spring-security-web-3.0.2.RELEASE.jar
- commons-logging-1.1.1.jar
OBS.: Em relação ao ficheiro “commons-logging-1.1.1.jar”, como ele não faz parte do Spring Frameworks, você poderá baixar o ficheiro referente a esta biblioteca neste endereço da Apache.
Prático, não?
Bem… a configuração não é nosso foco principal (apesar de ser fundamental para o bom funcionamento de qualquer Projeto).
Exemplo Prático
Como nosso foco não é o de desmembrar um Projeto, vamos focar apenas o que se refere a conexão à base de dados.
Através do ficheiro a seguir, poderemos autenticar e autorizar o acesso do usuário à área segura (administração).
Não apenas isso; Ele possibilita nosso acesso às tabelas do MySQL (conforme exemplo a seguir).
applicationContext.xml:
Criptografando A Senha
As senhas do ficheiro acima são inseridas manualmente (como você pode ver no ficheiro acima).
Caso seja necessário criptografá-las, você poderá adaptar seu script da seguinte forma:
Na hora de criar as tabelas, poderá trabalhar da seguinte maneira:
----- Inserindo Usuário -----
INSERT INTO users VALUES('usuario', MD5('senha'), 'ROLE_...')
Bem… não posso dizer que trabalhar com Spring é fácil, mas… depois que você aprende a configurá-lo e se adequa a alguns critérios, certamente não tem problemas!
Espero que esta matéria lhe ajude em algo! Em anexo envio um pequeno ficheiro de onde você poderá iniciar um Projeto e estudar mais esta excelente ferramenta.
Faça o Download do código usado neste tutorial: MySQL – Usando O Spring Security