Autenticação e Controle de Acesso
|
|
|
- Marta Salgado Campelo
- 10 Há anos
- Visualizações:
Transcrição
1 J530 - Enterprise JavaBeans Autenticação e Controle de Acesso Helder da Rocha ([email protected]) argonavis.com.br 1
2 Controle de acesso a autenticação A especificação EJB 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 é feito de forma declarativa 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> 2
3 Exemplo de controle de acesso <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 3
4 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 4
5 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 5
6 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 6
7 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) 7
8 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) 8
9 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> 9
10 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) 10
11 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> 11
12 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 12
13 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 } 13
14 Exemplo JAAS: como executar Diretório cap13/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) 14
15 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 cap13/exemplos/mejb 15
16 Propagação da identidade do principal A identidade do principal é propagada nas chamadas feitas no contexto do método chamado pelo cliente Este é o comportamento default, que também pode ser declarado explicitamente no DD <entity>... <security-identity> <use-caller-identity /> <security-identity>... </entity> Uma exceção será provocada caso o método chame algum método que o perfil associado com o principal não tenha autorização para executar 16
17 Troca de identidade Para executar métodos privilegiados, um bean pode trocar de identidade A nova identidade será propagada em todos os seus métodos e nos métodos chamados por eles <entity>... <security-identity> <run-as> <role-name>admin</role-name> </run-as> <security-identity>... </entity> 17
18 Autorização: controle programático Não há vantagens em se controlar o acesso aos recursos apenas via código Controle de acesso não é tarefa do bean provider (programador), mas do assembler ou deployer Por outro lado, o controle declarativo muitas vezes é insuficiente, por exemplo Um método que é acessível por um grupo precisa identificar membros desse grupo para limitar acesso a certas partes do código Métodos que podem ser acessados por vários grupos, mas de acordo com certos algoritmos 18
19 Métodos de EJBContext Para controle de acesso no código, há dois métodos em EJBContext (disponível para todos os beans) getcallerprincipal(): retorna javax.security.principal que identifica o usuário que está logado. Use getname() no objeto retornado para recuperar o nome (String) iscallerinrole(string role): retorna true se usuário logado faz parte do papel passado como argumento. O nome passado pode não ser o mesmo usado no deployment descriptor, mas um alias. String loggeduser = ctx.getcallerprincipal().getname(); if(!ctx.iscallerinrole("administrador")) { if (!loggeduser.equals(userid)) { throw new AcessoIlegalException("..."); } } 19
20 Alias para papéis no DD Permite que component assembler ou deployer utilize nome usado pelo programador no código-fonte e associe ao nome do papel declarado no deployment descriptor </entity>... <security-role-ref> <role-name>admin</role-name> <role-link>administrador</role-link> </security-role-ref>... </entity> A declaração do <security-role-ref> é obrigatória sempre que houver controle de acesso no código (mesmo se o nome usado no código for igual ao declarado no DD) if(!ctx.iscallerinrole("administrador")) { if (!loggeduser.equals(userid)) { throw new Exception("..."); <assembly-descriptor> } <security-role> <role-name>admin</role-name> } </security-role>... </assembly-descriptor> 20
21 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 cap13/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 21
22 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 2. Imprima o CallerPrincipal e informe se o método está ou não sendo chamado por Admin 22
23 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. 23
24 Curso J530: Enterprise JavaBeans Revisão Junho de , Helder da Rocha ([email protected]) argonavis.com.br 24
Java 2 Enterprise Edition Fundamentos básicos de Segurança
Java 2 Enterprise Edition Fundamentos básicos de Segurança Helder da Rocha www.argonavis.com.br 1 Objetivos Este capítulo apresenta Noções básicas de segurança em J2EE Exemplos de aplicações Usos típicos
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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):
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
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
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 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
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
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
Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade Quando métodos são invocados sobre um objeto:
Tratamento de Exceções Prof. Bruno Gomes [email protected] Programação Orientada a Objetos Exceções Aplicações, durante a execução, podem incorrer em muitas espécies de erros de vários graus de severidade
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
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
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
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
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
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
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
Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel
Acesso a Banco Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel As conexões em Java são feitas através de uma ponte que implementa todas as funcionalidades que um banco de dados padrão deve
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 + "," +
O que é uma Exceção? Call Stack. Java Tratamento de Exceção. de métodos que foram usados até chegar na presente instrução.
Java Tratamento de Exceção O que é uma Exceção? n Uma exceção é um evento que ocorre durante a execução do programa que interrompe o fluxo normal de instruções. n Quando um erro acontece em um método,
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,
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
Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares
Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível
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
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
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
A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
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
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
Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza
Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem
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...
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
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.
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
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
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
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
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
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
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
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
ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira
ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes
Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
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
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na
Unidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
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
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.........................................
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
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
e-stf WebServices Processo Eletrônico Smart Client Documentação
SUPREMO TRIBUNAL FEDERAL Secretaria de Tecnologia da Informação e-stf WebServices Processo Eletrônico Smart Client 1 Histórico da Revisão Data Versão Descrição Autor 20/06/2008 1.0 Criação do documento
(UFF) JDBC (I) TEPIS II
Aula 20: JDBC (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JDBC (I) TEPIS II 1 / 33 JDBC: Introdução Especificação que provê acesso
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 6 EJB Enterprise Java
Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução
Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite
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
insfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)
Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois
15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido
PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.
Manual de Integração SMS
NG Sistemas Manual de Integração SMS Integração SMS TI 2015 w w w. n g s i s t e m a s. c o m. b r Índice Sumário executivo... 2 Integrações... 3 Desenho da solução.... 6 NG Sistemas 1 Sumário executivo
Segurança de Acesso a Banco de Dados no MS SQL Server
Segurança de Acesso a Banco de Dados no MS SQL Server Para efetuar com sucesso os exemplos que serão mostrados a seguir é necessário que exista no SQL Server uma pessoa que se conecte como Administrador,
Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática
Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]
Leonardo Gresta Paulino Murta [email protected]
Leonardo Gresta Paulino Murta [email protected] O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no
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
UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS
UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS ¹Lucas Martins de Andrade, ¹Jaime William Dias ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected]
Unidade 9: Middleware JDBC para Criação de Beans
Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com
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
Driver Mysql para Banco de Dados. Conexão com um Banco de Dados
Driver Mysql para Banco de Dados MySQL.: Driver.: com.mysql.jdbc.driver URL.: jdbc:mysql://localhost/nomedobanco Usuário.: root senha.: ****** Conexão com um Banco de Dados Colocar o driver do banco de
Google Drive. Passos. Configurando o Google Drive
Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.
Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre
Sistemas Distribuídos e Tolerância a Falhas Mestrado em Engenharia Informática 1ª ano / 2ª semestre Prática: 1 - A plataforma JEE (Java Enterprise Edition) UBI, DI, Paula Prata SDTF T01 1 Arquitectura
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
Java : Comunicação Cliente-Servidor.
Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a
Sistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] Relembrando... Mecanismos de Comunicação Middleware Cenário em uma rede Local
Aula 30 - Sockets em Java
Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar
