Java 2 Enterprise Edition Fundamentos básicos de Segurança
|
|
|
- Sebastião Cavalheiro Canejo
- 10 Há anos
- Visualizações:
Transcrição
1 Java 2 Enterprise Edition Fundamentos básicos de Segurança Helder da Rocha 1
2 Objetivos Este capítulo apresenta Noções básicas de segurança em J2EE Exemplos de aplicações Usos típicos de JAAS Controle de acesso em aplicações J2EE com A abordagem deste assunto neste curso é superficial. Para maiores detalhes consulte Livros-texto (MEJB contém versão original do exemplo mostrado usando outro modelo de autenticação; J2EE Tutorial mostra exemplo usando container do J2EE-RI) Código-exemplo (comentado) Capítulo 13 do curso J530 ( Aplicações exemplo do capítulo 15 (código) 2
3 Controle de acesso a autenticação em EJB A especificação EJB 2.0 define controle de acesso a métodos e autenticação de clientes Não abrange outros aspectos importantes de segurança, como criptografia e comunicação segura Autenticação depende de implementação no container Identidade é representada por objeto java.security.principal O controle de acesso declarado no ejb-jar.xml Declara-se papéis lógicos que podem ser mapeados a usuários e grupos: <security-role> Papéis são associados a métodos para determinar quem tem autorização para executar: <method-permission> Métodos podem ser executados em outros beans por um Principal diferente: <security-identity><run-as> 3
4 Controle de acesso no ejb-jar.xml <assembly-descriptor> <security-role> <role-name>bankcustomer</role-name> </security-role> <security-role> <role-name>bankadmin</role-name> </security-role> <method-permission> <unchecked /> <method> <ejb-name>customerejb</ejb-name> <method-name>getprimarykey</method-name> </method> </method-permission> <method-permission> <role-name>bankadmin</role-name> <method> <ejb-name>customerejb</ejb-name> <method-name>*</method-name> </method> <method-permission> </assembly-descriptor> Papéis lógicos participantes ejb-jar.xml Grupo de métodos não verificados Grupo de métodos de CustomerEJB que só podem ser chamados por usuários que assumem o papel de BankAdmin 4
5 JAAS A autenticação depende de infraestrutura do servidor e pode ser implementada com o Java Authentication and Authorization Service - JAAS JAAS é uma API para autenticação de usuários e autorização. A maior parte é implementada pelo servidor Principais classes javax.security.auth.subject javax.security.principal javax.security.auth.callback.callback javax.security.auth.callback.callbackhandler javax.security.auth.login.configuration javax.security.auth.login.logincontext javax.security.auth.spi.loginmodule 5
6 Implementação do JAAS no JBoss (JBossSX) A implementação do JAAS no JBoss consiste de JAASecurityManager Módulos de configuração do servidor (login-config.xml) e do cliente (auth.conf) Implementações de javax.security.auth.spi.loginmodule ClientLoginModule Implementação de LoginModule no cliente UsersRolesLoginModule Uma das implementações de LoginModule no servidor Par de arquivos de texto para definir usuários e grupos jboss.xml e jboss-web.xml Declaram domínio JAAS a ser usado através do elemento <security-domain> de jboss.xml e jboss-web.xml 6
7 Configuração do JBoss Para utilizar os domínios de segurança do JBoss é preciso realizar configurações no servidor e em cada aplicação No servidor Arquivo login-config.xml localizado no diretório $JBOSS_HOME/server/default/conf/ Criação de domínios de segurança e sua associação com módulos de login existentes Na aplicação Arquivo jboss.xml (e/ou jboss-web.xml, se autenticação ocorrer via Web Container) Declaração do domínio de segurança JAAS usado Em clientes standalone, criação de domínios de segurança 7
8 Domínio de segurança do servidor JBossSX Deve ser declarado em jboss.xml (ou jboss-web.xml) <jboss> <security-domain> java:/jaas/dominio-servidor</security-domain> <session> <ejb-name>securehelloejb</ejb-name> <jndi-name>login/hellohome</jndi-name> </session> </jboss> jboss.xml Deve coincidir com nome de um <application-policy> (que define o domínio) em login-config.xml <policy> (...) <application-policy name="dominio-servidor"> <authentication> <login-module code="myloginmodule".../> Se não houver domínio com este nome em login-config.xml, será usado o domínio default "other", previamente configurado para usar UsersRolesLoginModule (veja slide seguinte) 8
9 Serviço JBossSX com UsersRolesLoginModule Módulo simples que utiliza par de arquivos de texto É a configuração default em login-config.xml <policy> (...) <application-policy name="other"> <authentication> <login-module code="org.jboss.security.auth.spi.usersrolesloginmodule" flag="required" /> </authentication> </application-policy> </policy> Trecho de server/default/conf/login-config.xml users.properties (nome=senha) mickey=mouse niquel=nausea roles.properties (nome.grupo=role,...,role) mickey.roles=testrole, AdminRole niquel.roles=norole, MouseRole Use preferencialmente senha criptografada! Coloque no CLASSPATH do servidor (pode ser no EJB-JAR) 9
10 Domínio usando banco de dados Pode-se guardar nome, senha e grupo em banco de dados. Para isto, é preciso configurá-lo no JBoss (login-config.xml) com DatabaseServerLoginModule É preciso também ter uma ou mais tabelas criadas com os dados de login (usuario, senha e grupo) O módulo requer três opções que são: nome do Datasource, query que retorne a senha, dado o userid e query que retorne um grupo, como "Roles" dado um userid <application-policy name="dominio-jdbc-servidor"> <authentication> <login-module code="org.jboss.security.auth.spi.databaseserverloginmodule"> <module-option name="dsjndiname">java:/defaultds</module-option> <module-option name="principalsquery"> select senha from usuarios where id=?</module-option> <module-option name="rolesquery"> select grupo, 'Roles' from grupos where id=?</module-option> <module-option name="unauthenticatedidentity">nobody</module-option> </login-module> </authentication> </application-policy> 10
11 Domínio de segurança do cliente JBossSX Coloque no Classpath do cliente standalone Arquivo de configuração (indica no mínimo a implementação de login module usada) arquivo de configuração (default) dominio-cliente { // JBoss LoginModule implementation org.jboss.security.clientloginmodule }; required; Informe ao cliente a localização do arquivo através da propriedade java.security.auth.login.config: > java Prog -Djava.security.auth.login.config=auth.txt JARs do JBossSX: jbosssx-client.jar (além dos outros JARs necessários para o cliente JBoss) 11
12 Domínio de clientes dentro de containers Para clientes que executam dentro do servidor (ex: servlets, JSP), chame o mesmo login module através de domínio definido na configuração do JBoss Ex: domínio declarado em login-config.xml: <application-policy name="dominio-cliente"> <authentication> <login-module code="org.jboss.security.clientloginmodule" flag="required"> </login-module> </authentication> </application-policy> 12
13 Cliente standalone padrão JAAS para login public class HelloClient { public static void main(string[] args) throws Exception { } } LoginContext loginctx = null; try { // Cria CallBackHandler CallbackHandler handler = new HelloCallbackHandler(); // Carrega configuração loginctx = new LoginContext("dominio-cliente", handler); // Faz o login loginctx.login(); Faz o login aqui } catch (LoginException e) { System.out.println("Login failed"); System.exit(1); } // Executa ação privilegiada propagando contexto de segurança Context ctx = new InitialContext(System.getProperties()); Object obj = ctx.lookup("securehelloejb"); HelloHome home = (HelloHome) PortableRemoteObject.narrow(obj, HelloHome.class); Hello hello = home.create(); System.out.println(hello.hello()); Encapsula dados de autenticação Dominio do cliente (veja slides anteriores) Chama métodos privilegiados 13
14 JAAS CallbackHandler import javax.security.auth.*; import javax.security.auth.callback.*; import javax.security.auth.login.*; public class HelloCallbackHandler implements CallbackHandler { private String username; private String password; } public HelloCallbackHandler() { LoginDialog dialog = new LoginDialog("User Authentication Required"); this.username = dialog.getdata()[0]; this.password = dialog.getdata()[1]; GUI simples para entrada de texto Preenche array de callbacks recebido com nome e senha lidos } public void handle(callback[] callbacks) throws java.io.ioexception, UnsupportedCallbackException { for (int i = 0; i < callbacks.length; i++) { if (callbacks[i] instanceof NameCallback) { NameCallback nc = (NameCallback) callbacks[i]; nc.setname(username); } else if (callbacks[i] instanceof PasswordCallback) { PasswordCallback pc = (PasswordCallback) callbacks[i]; pc.setpassword( this.preparepassword(password) ); } else throw new UnsupportedCallbackException(callbacks[i], "Error"); } } private char[] preparepassword(string word) { return word.tochararray(); // ou rotina de criptografia } 14
15 Exemplo JAAS: como executar Diretório cap15/exemplos/mejb Configuração Configure build.properties Edite usuários e grupos em lib/users.properties e lib/roles.properties Use targets do Ant > ant jboss.deploy (para instalar) > ant run.jboss.client (para rodar) Digite nome e senha compatíveis com arquivos de configuração Tente logar como usuário válido não autorizado (niquel) 15
16 Aplicação exemplo: ejb-jar.xml <ejb-jar> <enterprise-beans> <session> <ejb-name>securehelloejb</ejb-name> <home>examples.hellohome</home> <remote>examples.hello</remote> <ejb-class>examples.hellobean</ejb-class> <session-type>stateless</session-type> <transaction-type>container</transaction-type> </session> </enterprise-beans> <assembly-descriptor> <security-role> <role-name>testrole</role-name> </security-role> <method-permission> <role-name>testrole</role-name> <method> <ejb-name>securehelloejb</ejb-name> <method-name>*</method-name> </method> </method-permission> </assembly-descriptor> </ejb-jar> Todos os métodos acessíveis a TestRole Veja código exemplo em cap15/exemplos/mejb 16
17 Controle de acesso e autenticação em Servlets A especificação Servlet 2.3 permite a configuração de segurança em dois domínios Autenticação: o processo de verificação da identidade do usuário que solicita um recurso - quem é? Autorização: processo de verificação das permissões que um usuário autenticado possui - o que ele pode fazer? Os dois recursos podem ser configurados para cada contexto no web.xml definindo Login Configuration: configuração de métodos de autenticação utilizados Security Roles: perfis de usuário para autorização Security Constraint: URLs e métodos de acesso permitidos e perfis de segurança necessários para acessá-los 17
18 Configuração de Login em aplicações Web Escolha uma dentre quatro técnicas de autenticação BASIC: mostra uma janela do browser que recebe nome e senha. Os dados são enviados em conexão insegura FORM: igual a BASIC mas em vez de usar uma janela do browser, pemite o uso de um formulário HTML DIGEST: usa criptografia fraca para enviar os dados CLIENT-CERT: requer certificado X-509 para funcionar e usa criptografia forte (128-bit) BASIC, FORM e DIGEST são seguros se usados com SSL <login-config> <auth-method>form</auth-method> <form-login-config> <form-login-page>/form.html</form-login-page> <form-error-page>/erro.html</form-error-page> </form-login-config> </login-config> <login-config> <auth-method> BASIC </auth-method> </login-config> 18
19 Autorização: perfis de usuário - web.xml Uma vez definida a forma de autenticação, é preciso definir perfis de usuário habilitados a acessar os recursos A declaração de perfis de usuários é feita no web.xml usando <security-role>. A associação desses perfis com usuários reais é dependente de servidor <security-role> <role-name>administrador</role-name> </security-role> <security-role> <role-name>membro</role-name> </security-role> <security-role> <role-name>visitante</role-name> </security-role> 19
20 Web-Resource Collection no web.xml A coleção de recursos Web protegidos e os métodos de acesso que podem ser usados para acessá-los é definido em um bloco <web-resource-collection> definido dentro de <security-constraint> Inclui URL-patterns <url-pattern> que indicam quais os mapeamentos que abrangem a coleção Inclui um <http-method> para cada método permitido <security-constraint> <web-resource-collection> <web-resource-name>seção de Assinantes</web-resource-name> <url-pattern>/membros/*</url-pattern> <url-pattern>/preferencias/config.jsp</url-pattern> <http-method>get</http-method> <http-method>post</http-method> </web-resource-collection>... </security-constraint> 20
21 Security Constraint no web.xml O Web Resource Collection faz parte do Security Constraint que associa perfis de usuário (papéis lógicos) à coleção <security-constraint> <web-resource-collection> <web-resource-name>seção de Assinantes</web-resource-name> <url-pattern>/membros/*</url-pattern> <url-pattern>/preferencias/config.jsp</url-pattern> <http-method>get</http-method> <http-method>post</http-method> </web-resource-collection> <auth-constraint> <role-name>administrador</role-name> </auth-constraint> </security-constraint>... <security-constraint>... outras coleções e constraint... </security-constraint> 21
22 Form-based Login no web.xml Para autenticação por formulário, é preciso definir no <login-config> FORM como <auth-method> Adicionalmente, é informada a página que implementa o formulário. Esta página deve conter um elemento <FORM> HTML com algumas restrições Atributo ACTION de <FORM> deve conter: j_security_check Campo <INPUT> do nome deve conter: j_username Campo <INPUT> da senha deve conter: j_password <form action="j_security_check" method="post"> <p>digite seu nome de usuário: <input type="text" name="j_username"> <p>digite sua senha: <input type="password" name="j_password"> <input type="submit"> </form> 22
23 Como identificar o principal O principal (a pessoa que foi autenticada) é accessível dentro de EJBs e servlets/jsp através de seus contextos Ambos retornam javax.security.principal getname() de Principal retorna id do usuário logado EJBContext: getcallerprincipal() Principal usuario = ctx.getcallerprincipal(); String nome = usuario.getname(); ServletContext: getuserprincipal() Principal usuario = application.getuserprincipal(); String nome = usuario.getname(); 23
24 Como identificar o papel O papel (role) do usuário logado pode ser testado também através dos contextos de EJBs e Servlets usando métodos similares Nome do papel pode deve ser mapeado a outro nome (referência) no deployment descriptor EJBContext: boolean iscallerinrole(string role) if (ctx.getcallerinrole("admin")) { // dar acesso ao usuário } ServletContext: boolean isuserinrole(string role) if (application.getuserinrole("admin")) { } // dar acesso ao usuário 24
25 Configuração do JBoss Para executar os exercícios e os outros exemplos (deste e dos próximos capítulos) é preciso configurar a tabela com usuários e estabelecer um domínio de segurança no JBoss Roteiro Abra o arquivo login-config.xml e inclua as duas definições de domínio contidas no arquivo cap14/jaas.xml. Ele define um LoginModule para acesso JDBC. Rode ant create-table para criar as tabelas e povoá-las com os usuários e grupos necessários Reinicie o JBoss para que ele leia as configurações 25
26 Exercício 1. a) Crie uma aplicação contendo um session bean com dois métodos listarnomes() adicionarnome(string nome) 1. b) Crie dois papéis (roles): User e Admin e defina as permissões dos métodos Admin: pode listarnomes() e adicionarnome() User: pode listarnomes() 1. c) Implemente um cliente que faça o login e chame um dos dois métodos 1. d) Configure usuários do sistema, associe-os aos papéis existentes e rode a aplicação 26
27 Fontes [1] JBoss Group. JBoss User's Manual. Chapter 8: The JBoss Security Extension Framework. [2] Erik Jendrock. Security. Sun J2EE Tutorial. [3] Richard Monson-Haefel, Enterprise JavaBeans, 3rd. Edition, O'Reilly and Associates, 2001 [4] Ed Roman. Mastering EJB 2. 27
28 argonavis.com.br Rev Junho
Autenticação e Controle de Acesso
J530 - Enterprise JavaBeans Autenticação e Controle de Acesso Helder da Rocha ([email protected]) argonavis.com.br 1 Controle de acesso a autenticação A especificação EJB define controle de acesso a métodos
J550 Segurança e Controle de erros
J550 Segurança e Controle de erros Helder da Rocha ([email protected]) www.argonavis.com.br 1 Assuntos abordados Este módulo trata de dois assuntos Como mapear erros HTTP e exceções Java a servlets ou páginas
Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Java 2 Enterprise Edition Fundamentos básicos de Transações
Java 2 Enterprise Edition Fundamentos básicos de Transações Helder da Rocha www.argonavis.com.br 1 Objetivos Apresentar conceitos essenciais sobre transações em aplicações J2EE Este curso não aborda o
Tutorial Módulo 06 - Segurança
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
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores
Stateful Session Beans
J530 - Enterprise JavaBeans Stateful Session Beans Helder da Rocha ([email protected]) argonavis.com.br 1 Stateful Session Beans Quando um cliente chama um método de um bean, ele está iniciando um diálogo
Java 2 Enterprise Edition Uma aplicação J2EE completa
Java 2 Enterprise Edition Uma aplicação J2EE completa Helder da Rocha www.argonavis.com.br 1 Objetivos O objetivo deste módulo é construir e implantar uma aplicação J2EE completa Inicialmente, será mostrada
Laboratório EJB e J2EE Uma aplicação completa
J530 - Enterprise JavaBeans Laboratório EJB e J2EE Uma aplicação completa Helder da Rocha ([email protected]) argonavis.com.br 1 Objetivos O objetivo deste módulo é construir e implantar uma aplicação J2EE
Autenticação e Autorização
Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa
Message Driven Beans. Apresentação. Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo
Message Driven Beans Apresentação Introdução Implementação de MDBs Deployment no JBoss Java Messaging Service Exemplo 1 Introdução Message Driven Beans são EJBs que consomem mensagens enviadas para filas
PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M
JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):
Enterprise Java Beans
Enterprise Java Beans Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com 1-O que é um Enterprise Java Bean? O Entertprise Java Bean (EJB) é um componente server-side
AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA
Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6
J2EE. J2EE - Surgimento
J2EE Java 2 Enterprise Edition Objetivo: Definir uma plataforma padrão para aplicações distribuídas Simplificar o desenvolvimento de um modelo de aplicações baseadas em componentes J2EE - Surgimento Início:
Prática Sobre Servlets e JSP
Prática Sobre Servlets e JSP 1. Localize a pasta do Tomcat (TOMCAT_HOME); 2. Acesse a pasta bin e execute tomcat5w.exe; 3. Abra o Navegador e acesse http://localhost:8080 (A apresentação de uma página
Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha www.argonavis.com.br
Java 2 Standard Edition Fundamentos de Objetos Remotos Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo tem como objetivo dar uma visão geral, porém prática, da criação e uso de objetos
J530 - Enterprise JavaBeans. Introdução a EJB e Stateless. Session Beans. argonavis.com.br. Helder da Rocha ([email protected])
J530 - Enterprise JavaBeans Introdução a EJB e Stateless Session Beans Helder da Rocha ([email protected]) argonavis.com.br 1 Componentes de um EJB Para que o container possa gerar o código necessário é preciso
Aula 03 - Projeto Java Web
Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação
J820. Testes de interface Web com. HttpUnit. argonavis.com.br. Helder da Rocha ([email protected])
J820 Testes de interface Web com HttpUnit Helder da Rocha ([email protected]) O que é HttpUnit API Java para comunicação com servidores HTTP Permite que programas construam e enviem requisições, e depois
Capítulo 4. Programação em ASP
Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro
J550. Apache Struts. Helder da Rocha ([email protected]) www.argonavis.com.br
J550 Apache Struts Helder da Rocha ([email protected]) www.argonavis.com.br 1 Sobre este módulo Este é um módulo opcional. Apresenta uma visão geral do framework Struts, usado para desenvolver aplicações
J530 - Enterprise JavaBeans. Relacionamentos em EJB com. CMP e BMP. argonavis.com.br. Helder da Rocha ([email protected])
J530 - Enterprise JavaBeans Relacionamentos em EJB com CMP e BMP Helder da Rocha ([email protected]) argonavis.com.br 1 Objetivos Este módulo aborda a modelagem de aplicações orientadas a objetos e sua implementação
Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Tutorial RMI (Remote Method Invocation) por Alabê Duarte
Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos
SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores
SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores Requerimentos do Software Versão para Microsoft Windows/Unix Dezembro 2006 Bem-Vindo ao to SIQ GQF Plugin s WEB - Gestão da Qualidade
JSF - Controle de Acesso FERNANDO FREITAS COSTA
JSF - Controle de Acesso FERNANDO FREITAS COSTA ESPECIALISTA EM GESTÃO E DOCÊNCIA UNIVERSITÁRIA JSF Controle de Acesso Antes de iniciarmos este assunto, é importante conhecermos a definição de autenticação
Faculdade de Computação Programação para Internet Trabalho Servlets
Faculdade de Computação Programação para Internet Trabalho Servlets Prof. Flávio de Oliveira Silva, M.SC. 1. Casos de Uso A aplicação consiste dos casos de uso mostrados na Figura 1: uc Contacts Application
J550. Model View Controller
J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras
Argo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos
de Projeto J931 J2EE Versão 2.0 (setembro de 2003) Helder da Rocha ([email protected]) argonavis.com.br Objetivos Identificar os principais padrões de projeto J2EE Distinguir os principais padrões de projeto
Java II. Sérgio Luiz Ruivace Cerqueira [email protected]
Java II Sérgio Luiz Ruivace Cerqueira [email protected] Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento
TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges
Versão 1.0 TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges Data: 01/12/2014 SUMÁRIO 1. INTRODUÇÃO... 2 2. O QUE É SPRING SECURITY?...
TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1
TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1 FABIO HAIDER 2008 C O N T E Ú D O : 1 HTTP Client...3 1.1 Arquitetura...3 1.2 Usando HTTP Client...3 1.2.1 Usuário...3 1.2.2 Implementação HTTP
J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr
J2EE Exemplo completo Utilização Servlet Instrutor HEngholmJr Page 1 of 9 AT09 Exemplo complete Utilização Servlet Version 1.1 December 5, 2014 Indice 1. BASEADO NOS EXEMPLOS DE CÓDIGO DESTA APOSTILA,
Padrão Arquitetura em Camadas
Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Definição Estimula a organização
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)
Prática em Laboratório N.02 Criando um serviço Web via NetBeans
Prática em Laboratório N.02 Criando um serviço Web via NetBeans O objetivo deste exercício é criar um projeto apropriado para desenvolver um contêiner que você resolva utilizar. Uma vez criado o projeto,
Sistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
Java para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Web Technologies. Tópicos da apresentação
Web Technologies Tecnologias de Middleware 2004/2005 Hugo Simões [email protected] 1 A Web Tópicos da apresentação Tecnologias Web para suporte a clientes remotos (Applets,CGI,Servlets) Servidores Aplicacionais
Guia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.
JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado
Aplicabilidade: visão geral
CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação
Configuração de Cliente de Web Service HTTPS
Configuração de Cliente de Web Service HTTPS Envio de registros civis ao SIRC através de Central de Registros Civis Configurando_Cliente_de_Web_Service_HTTPS.odt 1 de 20 Histórico de Revisões Data Versão
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Segurança em Aplicações J2EE no Ambiente JBoss
Segurança em Aplicações J2EE no Ambiente JBoss Juliano Kuhn Soares Orientador: Vinicius Gadis Ribeiro Informática Centro Universitário Ritter dos Reis (Uniritter) Rua Orfanotrófio, 555 Alto Teresópolis
Java 2 Enterprise Edition Serviços de Localização
Java 2 Enterprise Edition Serviços de Localização Helder da Rocha www.argonavis.com.br 1 Objetivos Este módulo descreve os serviços básicos para localização de recursos em J2EE Localização de componentes
Desenvolvimento de aplicações Web. Java Server Pages
Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - [email protected] 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia
WebWork 2. João Carlos Pinheiro. [email protected]
WebWork 2 João Carlos Pinheiro [email protected] Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)
J2EE TM Java 2 Plataform, Enterprise Edition
CURSO DE GRADUAÇÃO J2EE TM Java 2 Plataform, Enterprise Edition Antonio Benedito Coimbra Sampaio Junior [email protected] OBJETIVOS DO CURSO Capacitar os alunos no desenvolvimento de aplicações para a WEB com
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
J550. Helder da Rocha ([email protected]) www.argonavis.com.br
J550 Helder da Rocha ([email protected]) www.argonavis.com.br 1 O que são Filtros Um filtro éum componente Web que reside no servidor Intercepta as requisições e respostas no seu caminho até o servlet e de
Java para WEB. Servlets
Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos
Implementando uma aplicação java segura utilizando JAAS. Introdução
Implementando uma aplicação java segura utilizando JAAS. Introdução Neste documento mostrarei como desenvolver uma simples aplicação utilizando JAAS (Java Authentication and Authorization Service) e um
Tecnologias Web. Java Enterprise Edition
Tecnologias Web Java Enterprise Edition Cristiano Lehrer, M.Sc. Introdução Java Enterprise Edition (JEE): Plataforma de tecnologias para o desenvolvimento de aplicações corporativas distribuídas. É uma
Programação Web Aula 12 - Java Web Software
Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código
Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti
Daniel Nicoletti Tradução: Luiz Fernando Ranghetti 2 Conteúdo 1 Resumo 5 2 Como funciona 6 2.1 Resumo............................................ 6 2.2 O problema.........................................
Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais
Curso de Java Geração de Páginas WEB através de JSP Todos os direitos reservados Klais JSP e Servlets Servletsconstituem um mecanismo conveniente para a geração de páginas HTML dinâmicas e seu tratamento
ROTEIRO PARA INSTALAÇÃO DO BITVISE, CONFIGURAÇÃO DE CHAVES SSH, DEFINIÇÃO DAS PORTAS PARA OS TÚNEIS SSH E CONFIGURAÇÃO DO THUNDERBIRD
ROTEIRO PARA INSTALAÇÃO DO BITVISE, CONFIGURAÇÃO DE CHAVES SSH, DEFINIÇÃO DAS PORTAS PARA OS TÚNEIS SSH E CONFIGURAÇÃO DO THUNDERBIRD PARTE 1 INSTALAÇÃO DO BITVISE E CRIAÇÃO E INSTALAÇÃO DA CHAVE SSH PARA
Scriptlets e Formulários
2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,
UFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares [email protected] Aula 5 Servidores de Aplicação
Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE
Padrões de Projeto J2EE J931 Introdução Helder da Rocha ([email protected]) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos
Acesso a Bancos de Dados em Java (JDBC)
Acesso a Bancos de Dados em Java (JDBC) Jomi Fred Hübner Universidade Regional de Blumenau Departamento de Sistemas e Computação Roteiro Introdução Objetivo da JDBC Vantagens Visão geral do acesso a SGBDs
Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.
Relatório do GPES Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010. Compreender a programação JSP. Os Servlets assim como JSP são tecnologias
Parte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework
MANUAL DE INSTALAÇÃO JBOSS-JOSSO
30/12/2013 1. INSTALAÇÃO DO NOVO FRAMEWORK... 3 1.1. Instalação do JAVA... 3 2 Instalação do JBOSS... 4 2.3 CONFIGURANDO O JBOSS... 4 2.4 Iniciando Jboss... 9 3 Configurando a base de dados TOTVS_APP...
Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC
JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC Java Database Connectivity Provê acesso SQL ao banco de dados Principais
Manual de Utilização do PLONE (Gerenciador de página pessoal)
Manual de Utilização do PLONE (Gerenciador de página pessoal) Acessando o Sistema Para acessar a interface de colaboração de conteúdo, entre no endereço http://paginapessoal.utfpr.edu.br. No formulário
JPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação [email protected] Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9
Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através
Persistência de Classes em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos
JSP (Java Server Pages)
JSP (Java Server Pages) André Tavares da Silva [email protected] JSP A linguagem surgiu por volta de 1995. JSP foi inicialmente inventado por Anselm Baird-Smith durante um final de semana e depois Satish
Manual Versão: 2.0 Autor: Alex Luciano Msn: [email protected]. Instalação
Manual Versão: 2.0 Autor: Alex Luciano Msn: [email protected] Instalação 1. Faça o download do arquivo biserver-ce-3.0.0-stable.zip. 2. Faça o download e instale o JDK + JRE ( jre-6u15-windows-i586-iftw.exe
Desenvolvimento Web com Framework Demoiselle versão 1.0
Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado
Num sistema de objectos distribuídos, dois conceitos são fundamentais.
Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform
Acessando um Banco de Dados
Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para
INTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Omega Tecnologia Manual Omega Hosting
Omega Tecnologia Manual Omega Hosting 1 2 Índice Sobre o Omega Hosting... 3 1 Primeiro Acesso... 4 2 Tela Inicial...5 2.1 Área de menu... 5 2.2 Área de navegação... 7 3 Itens do painel de Controle... 8
Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática
Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus
Serviço de Transação. Transação - Conceitos
Serviço de Transação Conceitos Tipos de Gerência de Transação JTA Transação - Conceitos Garantir as propriedades ACID Atomicidade Consistencia Isolamento Durabilidade Transações no modelo EJB Dois Tipos
Oracle WebLogic Server 11g: Conceitos Básicos de Administração
Oracle University Entre em contato: 0800 891 6502 Oracle WebLogic Server 11g: Conceitos Básicos de Administração Duração: 5 Dias Objetivos do Curso Este curso treina administradores Web nas técnicas para
