Tutorial Módulo 06 - Segurança



Documentos relacionados
Demoiselle Tutorial Módulo 1 Arquitetura

BlackBerry Messenger SDK

Tutorial: Serviços web e suas composições

Exemplo de Aplicaça o Facebook

Tutorial: Criando aplicações J2EE com Eclipse e jboss-ide

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

TUTORIAL SISTEMA DE CONTROLE DE ACESSO

Sophos SafeGuard Disk Encryption

Criação de um novo projeto no Eclipse utilizando Maven

Passos para a configuração do ambiente de desenvolvimento:

Descompacte o arquivo site zip que foi baixado dentro da pasta do eclipse.

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS MÓDULO DO CERTIFICADOR

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

ROTEIRO ILUSTRADO PARA SISTEMA COMPUTACIONAL INSANE

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Instruções de instalação e remoção para os drivers de impressora PostScript e PCL do Windows Versão 8

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Configurar o Furbot no Eclipse

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

Textos Legais. TL Internet. Legislativa. Manual de Implantação

INSTALANDO SQL SERVER 2008

Migração de Certificado Digital (Servidor Microsoft IIS para Apache)

Instrução para Instalação de Certificados Digitais de Servidor Web

Maker Planet Manual do Usuário

Instalando o plugin CDT 4.0

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7

Tutorial 1.0. Instalação

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7

Obs: É necessário utilizar um computador com sistema operacional Windows 7.

Antes de iniciar execute o script do banco de dados no SQLYOG ou outra ferramenta de sua preferência

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação

OWL-S Composer. MATE15 - Tópicos Especiais em Banco de Dados III. 17 de Julho de Marco Antonio Almeida 1 e Daniela Barreiro Claro 2

Prática em Laboratório N.04 (Parte 01) Criando uma aplicação composta a partir de um serviço Web

Integrando Flex + Java + BlazeDS

Criar uma aplicação JPA2 com EclipseLink e H2

MoreDoc. Guia de Instalação. Edição Community Versão 3.0

Manual de Instalação do Agente Citsmart

Manual de Administração

GUIA DE MANUTENÇÃO DO CERTIFICADO PÚBLICO NA NFSe Versão 0.1

Manual de Instalação: Agente do OCS Inventory NG

Instalação e Configuração do QualproxWeb, ProxControle, ProxAtendente, ControladorSerial e Banco de Dados

ANDROID APPLICATION PROJECT

Roteiro para Solicitação e instalação de certificado digital para aplicação (Windows 2000)

Instrução para Importação de Certificados Digitais de Servidor Web IIS 6 e IIS 7

Configuração e Instalação do Atendimento Online

Migração de Certificado Digital (Servidor Apache para Microsoft IIS)

SSE 3.0 Servidor de Notificação por . Cadastrando

MANUAL DE INSTALAÇÃO JBOSS-JOSSO

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Manual de Instalação Atendimento 3.4

Importação de Certificado Servidor Web IIS 6 e IIS 7

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROGRAMAÇÃO PARA INTERNET TUTORIAL DE APLICAÇÃO JSF DESENVOLVIDO COM A FERRAMENTA ECLIPSE LUNA

Criar um novo projeto

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

EAI Manual do Administrador

Nome N Série: Ferramentas

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Integrando Eclipse e Websphere Application Server Community Edition

MÓDULO DE MATRICULA UNASUS

Saída do sistema do Servidor FTP do Capture Pro Software

Secure Client. Manual do Usuário. Versão 6.2. Procedimento para Instalação e configuração do Secure Client 6.1. Secure Client versão 6.

Guia de Instalação SIAM. Internet Information Services - IIS 5.1 no Windows XP Pro

Certifique-se de que você possui todas as informações necessárias e equipamento em mãos antes de iniciar a instalação.

Tutorial Eclipse (IDE)

Criando uma agenda simples com NetBeans 6.5

Manual de Instruções para a Criação de Ficheiros CSR. Microsoft IIS 5/6

Instalação e Configuração RPM Remote Print Manager para Windows 2000

A U T O R I Z O R R I GUIA DE INSTALAÇÃO W E B. Versão: 1.02 Agosto/2006 Versão: AW

Procedimentos para Instalação do SISLOC

Apache -Tomcat. Instalação e Configuração. Grupo Multitecnus,

Autenticação e Controle de Acesso

Introdução ao IDE Netbeans (Programação Java)

Cadastro de Orçamento Utilizando Tablet Android

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

MANUAL DE CONFIGURAÇÃO -ZIMBRA- Ajuda na configuração e utilização do cliente de correio eletrónico

Minha primeira aplicação utilizando Java Server Faces + Glassfish

Manual para a instalação e utilização do VOIP

Configuração de Cliente de Web Service HTTPS

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Integração com Asterisk

Instalando e Configurando o DNS Server

Manual de Instalação

Manual de orientações para a instalação do Java e envio da declaração utilizando a Certificação Digital

WampServer. Instalação do WampServer. Nota: Essas instruções são baseadas em uma instalação para o sistema operacional Windows.

O serviço de Gateway Remoto é instalado em um computador, onde um ou diversos rádios móveis Hytera podem ser conectados via cabo USB e áudio.

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Instalação BibliotecaRM/Procedimento (título ilustrativo, não é preciso colocar)

Criação Visual de Consultas. Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes

Desenvolvimento Web com Framework Demoiselle versão 1.0

MAN004 Back-up e Restore MS SQL Server Cliente: Duralex Sistemas

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008

Criação de Applets Package: Class Name Base Class: Generate header comments: Can run standalone: Generate Standard methods:

AVISO. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

Configurando uma aplicação Struts

Roteiro de Instalação da NF-e no Sistema CalcExpress S U M À R I O

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Transcrição:

LABORATÓRIO 06 Segurança Este laboratório tem por objetivo exercitar o uso do componente de segurança do Framework e uso da especificação JAAS. Objetivos: Uso do Login Module do Componente de Segurança do Framework; Criação de um provider de segurança; Criação de classe para autenticação; Criação de classe para autorização; Configuração JAAS JBoss. Exercício 6.1 Criação de um provider de segurança 1. Configuração da Aplicação Uso do JBoss Baixe (http://www.jboss.org/jbossas/downloads/) e instale o JBoss (usamos a versão 4.2.3.GA), configurando para uso no Eclipse. Extrair zip; Adicionar a lista de servidores do Eclipse (Menu: Window Preferences Server Runtime Environments; clica em Add, escolhe a versão do JBoss correspondente, clica em Next, aponta para o diretório de instalação e Finish); Cadastrar a aplicação escola no JBoss (janela Server, clica com botão direito no JBoss server e escolhe Add and Remove Projects...): Modifique o profile Maven da aplicação escola para uso do jboss. Menu: Project Properties Maven 1

2. Autenticação padrão do JBoss Crie na pasta {jboss-home/server/default/conf os seguintes arquivos: defaultroles.properties Conteúdo do arquivo: aluno=role_aluno professor=role_professor admin=role_professor,role_administrador defaultusers.properties Conteúdo do arquivo: aluno=aluno professor=professor admin=admin Inicie a aplicação, autentique-se e verifique seu funcionamento no Jboss. 2

3. Construção do provider escola Adicione ao arquivo archetype-catalog.xml a definição do arquétipo para criação de providers: <?xml version="1.0" encoding="utf-8"?> <archetype-catalog> <archetypes> <archetype> <groupid>br.gov.component.demoiselle.archetypes</groupid> <artifactid>demoiselle-archetype-webapp-sample</artifactid> <version>1.0.0</version> <repository>http://demoiselle.sourceforge.net/repository/release</repository> </archetype> <archetype> <groupid>br.gov.component.demoiselle.archetypes</groupid> <artifactid>demoiselle-archetype-security-provider</artifactid> <version>1.0.2</version> <repository>http://demoiselle.sourceforge.net/repository/release</repository> </archetype> </archetypes> </archetype-catalog> Criação do Provider Volte ao Eclipse, acione o menu: File New Project... Selecione a opção Maven Project: 3

Mantenha sua tela conforme abaixo para que o projeto seja criado dentro do workspace padrão. Na tela seguinte são exibidos todos os arquétipos cadastros no archetype-catalog.xml; Selecione no campo Catalog a opção: Default Local; Selecione a última versão do arquétipo demoiselle (demoiselle-archetype-security-provider). Vá à próxima tela. Informe os dados do seu projeto. Group Id: br.gov.demoiselle Artifact Id: escola-security-provider Version: 0.0.1-SNAPSHOT Package: br.gov.demoiselle.escola.security.provider Acione o botão Finish para iniciar a criação do projeto. 4

Seu projeto será criado conforme estrutura abaixo: Crie no pacote (br.gov.demoiselle.escola.security.provider.security.auth.provider) crie um Principal da aplicação Escola: package br.gov.demoiselle.escola.security.provider.security.auth.provider; import java.security.principal; public class EscolaPrincipal implements Principal { private String name; private String cpf; private String nomecompleto; public EscolaPrincipal(String name, String cpf, String nomecompleto) { super(); this.name = name; this.cpf = cpf; this.nomecompleto = nomecompleto; public String getname() { return name; public void setname(string name) { this.name = name; public String getcpf() { return cpf; public void setcpf(string cpf) { this.cpf = cpf; public String getnomecompleto() { return nomecompleto; public void setnomecompleto(string nomecompleto) { this.nomecompleto = nomecompleto; 5

No mesmo pacote, crie a classe de autenticação da aplicação Escola: package br.gov.demoiselle.escola.security.provider.security.auth.provider; public class EscolaAutenticacao implements IAuthenticationProvider{ public Principal authenticate(x509certificate x509) {return null; public Principal authenticate(string user, String password) { if (user.equals("aluno") && password.equals("aluno")){ return new EscolaPrincipal("aluno", "001", "Aluno da Escola"); if (user.equals("professor") && password.equals("professor")){ return new EscolaPrincipal("professor", "002", "Professor da Escola"); if (user.equals("admin") && password.equals("admin")){ return new EscolaPrincipal("admin", "003", "Administrador da Escola"); return null; public Principal authenticate(string user, String password, String newpassword) { return null; public void initialize(properties properties) { No mesmo pacote crie, a classe de autorização da aplicação Escola: package br.gov.demoiselle.escola.security.provider.security.auth.provider; import java.security.principal; import java.util.arraylist; import java.util.collection; import java.util.properties; import br.gov.component.demoiselle.security.auth.role; import br.gov.component.demoiselle.security.auth.provider.iauthorizationprovider; public class EscolaAutorizacao implements IAuthorizationProvider{ public Collection authorize(principal callerprincipal) { EscolaPrincipal principal = (EscolaPrincipal) callerprincipal; Collection papeis = new ArrayList(); if (principal.getname().equals("aluno")){ papeis.add(new Role("role_aluno")); else if (principal.getname().equals("professor")){ papeis.add(new Role("role_professor")); else if (principal.getname().equals("admin")){ papeis.add(new Role("role_administrador")); return papeis; public void initialize(properties properties) { 6

O provider deve está estruturado conforme abaixo: Instale o projeto escola-security-provider utilizando o comando package do maven: Menu Run Run As Maven Package O pacote será gerado na pasta: /escola-security-provider/target/ com o nome: escola-securityprovider-0.0.1-snapshot.jar 1. Configuração JAAS (Jboss) Copie o jar escola-security-provider-0.0.1-snapshot.jar para a pasta {jboss_home/server/default/lib. Copie o jar demoiselle-security-1.0.5.jar para a pasta {jboss_home/server/default/lib, localizado em: http://demoiselle.sourceforge.net/repository/release/br/gov/component/demoiselle/demoisell e-security/1.0.5/ Copie o jar demoiselle-security-catalina-1.0.5.jar para a pasta {jboss_home/server/default/lib, localizado em: http://demoiselle.sourceforge.net/repository/release/br/gov/component/demoiselle/demoisell e-security-catalina/1.0.5/ Configure o arquivo $jboss_home/server/default/conf/login-config.xml, inclua um novo 7

application-policy conforme abaixo: <application-policy name = "escola"> <authentication> <login-module code="br.gov.component.demoiselle.security.auth.provider.providerloginmodule" flag="required"> <module-option name="credential-type">user_password</module-option> <module-option name="authentication-provider-class"> br.gov.demoiselle.escola.security.provider.security.auth.provider.escolaautenticacao </module-option> <module-option name="authorization-provider-class"> br.gov.demoiselle.escola.security.provider.security.auth.provider.escolaautorizacao </module-option> </login-module> </authentication> </application-policy> Para vinculação da aplicação escola ao domínio de segurança definido no Jboss (loginconfig.xml) crie o arquivo /src/main/webapp/web-inf/jboss-web.xml (dentro da aplicação escola). Segue exemplo abaixo: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN" "http://www.jboss.org/j2ee/dtd/jbossweb_4_2.dtd"> <jboss-web> <security-domain>java:/jaas/escola</security-domain> </jboss-web> Edite o arquivo jboss-service.xml localizado na pasta {jboss-home/server/default/deploy/jbossweb.deployer/meta-inf e adicione uma para a autenticação FORM-AND- CLIENT-CERT. <attribute name="authenticators" serialdatatype="jbxb"> <java:properties xmlns:java="urn:jboss:java-properties" xmlns:xs="http://www.w3.org/2001/xmlschema-instance" xs:schemalocation="urn:jboss:java-properties resource:java-properties_1_0.xsd"> <java:key>basic</java:key> <java:value>org.apache.catalina.authenticator.basicauthenticator</java:value> <java:key>client-cert</java:key> <java:value>org.apache.catalina.authenticator.sslauthenticator</java:value> <java:key>digest</java:key> <java:value>org.apache.catalina.authenticator.digestauthenticator</java:value> <java:key>form</java:key> <java:value>org.apache.catalina.authenticator.formauthenticator</java:value> <java:key>none</java:key> <java:value>org.apache.catalina.authenticator.nonloginauthenticator</java:value> <java:key>form-and-client-cert</java:key> <java:value> br.gov.component.demoiselle.security.catalina.authenticator.formandsslauthenticator 8

</java:value> </java:properties> </attribute> Modifique o web.xml da aplicação escola para aceitar o mecanismo de autenticação por formulário e certificado digital: <login-config> <auth-method>form-and-client-cert</auth-method> <form-login-config> <form-login-page>/public/pages/security/login.jsp</form-login-page> <form-error-page>/public/pages/error/acess.jsp</form-error-page> </form-login-config> </login-config> Exclua os arquivos: defaultroles.properties e defaultusers.properties, da pasta {Jboss- Home/server/default/conf/ Republique e Reinicie a aplicação no modo debug e verifique a execução do provider ao fazer o login da aplicação. FIM 9