| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| <title>Protegendo uma aplicação Web no NetBeans IDE</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta http-equiv="Content-Style-Type" content="text/css"> |
| <meta name="keywords" |
| content="NETBEANS, TUTORIAL, GUIDE, USER, DOCUMENTATION, IDE, Platform, free, open source, developer"> |
| <meta name="description" |
| content="This document takes you through the basics of adding security to a web application that is deployed to either the Tomcat server or the Oracle GlassFish Open Source server."> |
| <meta name="author" content="Dan Kolar"> |
| <link rel="stylesheet" type="text/css" href="../../../netbeans.css"> |
| </head> |
| <body> |
| <h1>Protegendo uma aplicação Web no NetBeans IDE</h1> |
| <div class="articledate" style="margin-left: 0px;">Contribuição de Dan Kolar, Manutenção de James Branam e Jeff Rubinoff </div> |
| <p>Este documento lhe orienta a respeito dos conceitos básicos da adição de segurança a uma aplicação Web implantada em um servidor Oracle GlassFish Open Source Edition, Oracle WebLogic ou Apache Tomcat.</p> |
| <p>Este documento mostra como configurar a autenticação de segurança usando uma janela de log-in básico e usando também um form de log-in em uma página Web. Este documento guia você pelas etapas de criação de usuários no servidor Tomcat e no GlassFish Server. Depois de criar os usuários, você cria as atribuições de segurança, definindo as propriedades de segurança no descritor de implantação. Este documento também mostra como usar a autenticação JDBC para proteger sua aplicação durante a implantação do GlassFish Server.</p> |
| <!-- END VCD1 OVERVIEW COMPONENT --> |
| <p class="align-center"><b>Duração esperada: <i>40 </i>minutos</b></p> |
| <!-- BEGIN VCD5 ANCHOR LINKS COMPONENT --> |
| <p><b>Conteúdo</b></p> |
| <img alt="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0" class="stamp" src="../../../images_www/articles/73/netbeans-stamp-80-74-73.png" title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"> |
| <ul class="toc"> |
| |
| <li><a href="#Exercise_0">Instalando e Configurando o Ambiente de Trabalho</a></li> |
| <li><a href="#Creating_Web_App">Criando a Aplicação Web</a> |
| <ul> |
| <li><a href="#createdir">Criando Diretórios Seguros</a></li> |
| <li><a href="#indexpage">Criando a Página de Índice JSP</a></li> |
| <li><a href="#loginform">Criando um Form de Log-in (Obrigatório para Tomcat e opcional para GlassFish ou WebLogic Server)</a></li> |
| </ul> |
| </li> |
| <li><a href="#Creating_users_roles">Criando Usuários e Atribuições no Servidor de Destino</a> |
| <ul> |
| <li><a href="#SJSAS">Definindo Atribuições no GlassFish Server</a></li> |
| <li><a href="#Tomcat">Definindo Atribuições no Servidor Web Tomcat</a></li> |
| <li><a href="#wl">Definindo Atribuições e Grupos no WebLogic Server</a></li> |
| |
| </ul> |
| </li> |
| <li><a href="#Basic_login_config">Configurando o Método de Log-in</a> |
| |
| <ul> |
| |
| <li><a href="#Basic">Log-in Básico</a></li> |
| <li><a href="#Form">Log-in com Form</a></li> |
| </ul></li> |
| |
| <li><a href="#sec-dd">Configurando os Descritores de Implantação de Servidor</a> |
| <ul> |
| <li><a href="#gf-dd">Configurando o Descritor de Implantação do GlassFish Server</a></li> |
| <li><a href="#wl-dd">Configurando o Descritor de Implantação do Servidor WebLogic</a> </li> |
| </ul> |
| </li> |
| <li><a href="#Deploy_run">Implantando e Executando a Aplicação</a></li> |
| |
| </ul> |
| <p><b>Para seguir este tutorial, são necessários os recursos e o software a seguir.</b></p> |
| |
| <table> |
| <tbody> |
| <tr> |
| <th class="tblheader" scope="col">Software ou Recurso</th> |
| <th class="tblheader" scope="col">Versão Necessária</th> |
| </tr> |
| <tr> |
| <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td> |
| <td class="tbltd1">Versão Java EE</td> |
| </tr> |
| <tr> |
| <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK (Java Developer Kit)</a></td> |
| <td class="tbltd1">Versão 7 ou 8</td> |
| </tr> |
| <tr> |
| <td class="tbltd1">Plataforma Java EE</td> |
| <td class="tbltd1">Java EE 6 ou 7</td> |
| </tr> |
| <tr> |
| <td class="tbltd1">Travel Database</td> |
| <td class="tbltd1">Não é Obrigatório</td> |
| </tr> |
| <tr> |
| <td class="tbltd1">Servidor de aplicações ou Web compatível com Java EE</td> |
| <td class="tbltd1">Servidor Web Tomcat 7.x ou 8.x, Oracle WebLogic 11g ou<br /> GlassFish Server Open Source Edition 4.x |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| |
| |
| <!-- ===================================================================================== --> |
| <h2><a name="Exercise_0"></a>Instalando e Configurando o Ambiente de Trabalho</h2> |
| <p>Instale e inicie o NetBeans IDE. Você pode seguir este tutorial usando o servidor Tomcat fornecido ou o GlassFish Server.</p> |
| <p>Verifique se o servidor está instalado e se há uma instância do servidor registrada no IDE. Você pode usar o Gerenciador de Servidores para registrar uma instância do servidor instalado. (Selecione Ferramentas > Servidores > Adicionar Servidor. Selecione “GlassFish Server <número da versão>” ou “Tomcat <número da versão>” e clique em Próximo. Clique em Procurar e localize o diretório de instalação do servidor de aplicações. Clique em Finalizar.)</p> |
| <!-- ===================================================================================== --> |
| |
| <h2 class="tutorial"><a name="Creating_Web_App"></a><!--Exercise 1: --> |
| Criando a Aplicação Web</h2> |
| <p>Neste exercício, você primeiro cria o projeto de aplicação Web e a estrutura do diretório. Em seguida, você cria alguns arquivos <tt>html</tt> simples em cada um dos diretórios seguros. A aplicação Web utiliza uma autenticação de log-in básico para acessar os diretórios seguros. Se quiser usar um form de log-in para autenticação, você pode adicionar uma página <tt>jsp</tt> com o form.</p> |
| <div class="indent"> |
| <a name="createdir"></a> |
| <h3 class="tutorial">Criando os Diretórios Seguros</h3> |
| |
| <ol> |
| <li>Selecione Arquivo > Novo Projeto (Ctrl-Shift-N), selecione Aplicação Web na categoria Java Web e clique em Próximo.</li> |
| <li>Chame o projeto de <tt>WebApplicationSecurity</tt>. Aceite as definições default.</li> |
| <li>(Opcional) Marque a caixa de seleção Utilizar Pasta Dedicada para Armazenamento de Bibliotecas e especifique o local da pasta de bibliotecas. Consulte <a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG455">Compartilhando uma Biblioteca com Outros Usuários</a> em <em>Desenvolvendo Aplicações com o NetBeans IDE</em> para obter mais informações sobre essa opção.</li> |
| <li>Clique em Próximo.</li><li>Selecione o servidor no qual deseja implantar a aplicação. Somente os servidores registrados com o IDE serão listados. Clique em Próximo.</li> |
| <li>Não é necessário adicionar um framework; portanto, clique em Finalizar.</li> |
| <li>Se você criou uma aplicação EE 6, vá à janela Projetos do IDE, clique com o botão direito do mouse no nó do projeto e selecione Novo > Outro > Web > Descritor de Implantação Padrão (web.xml). Aceite todos os defaults e percorra o assistente. |
| <p class="notes" ><b>Observação:</b> este tutorial mostra como configurar a segurança no descritor de implantação, mas as aplicações EE 6 e EE 7 usam anotações em vez de um descritor de implantação, por padrão.</p></li> |
| <li>Se estiver usando um GlassFish ou WebLogic Server e o NetBeans IDE 7.0.1 ou posterior, você precisará gerar um descritor específico para o servidor. Clique com o botão direito do mouse no nó do projeto e selecione Novo > Outro > GlassFish > Descritor do GlassFish ou Novo > Outro > WebLogic > Descritor do WebLogic. A caixa de diálogo Criar Descritor Específico do Servidor será aberta. Aceite todos os defaults e clique em Finalizar. O descritor específico do servidor, chamado <tt>glassfish-web.xml</tt> ou <tt>weblogic.xml</tt>, aparecerá no projeto na pasta Arquivos de Configuração.</li> |
| <li>Na janela Projetos do IDE, clique com o botão direito do mouse em Páginas Web e selecione Novo > Outro.</li> |
| <li>No assistente de Novo Arquivo, selecione Outro como Categoria e Pasta como o Tipo de Arquivo. Clique em Próximo.</li> |
| <li> |
| <p>No assistente de Nova Pasta, chame a pasta de secureAdmin e clique em Finalizar.</p> |
| A pasta secureAdmin será exibida na janela Projetos da pasta Páginas Web. |
| </li> |
| <li>Repita as três últimas etapas para criar outra pasta chamada secureUser.</li> |
| <li>Crie um novo arquivo <tt>html</tt> na pasta secureUser, clicando com o botão direito do mouse na janela Projetos e selecionando Novo > Outros.</li> |
| <li>Selecione o tipo de arquivo HTML na categoria Outro. Clique em Próximo.</li> |
| <li>Chame o novo arquivo de pageU e clique em Finalizar. |
| <p>Quando você clica em Finalizar, o arquivo <tt>pageU.html</tt> é aberto no Editor de Código-Fonte.</p></li> |
| <li>No Editor de Código-Fonte, substitua o código existente em <tt>pageU.html</tt> pelo código a seguir: |
| <pre class="examplecode"><span class="html-tag"><html> |
| <head> |
| <title></span>User secure area<span class="html-tag"></title> |
| </head> |
| <body> |
| <h1></span>User Secure Area<span class="html-tag"></h1> |
| </body> |
| </html></span></pre> |
| </li> |
| <li>Clique com o botão direito do mouse na pasta secureAdmin e crie um novo arquivo <tt>html</tt> chamado pageA.</li> |
| <li>No Editor de Código-Fonte, substitua o código existente em <tt>pageA.html</tt> pelo código a seguir: |
| <pre class="examplecode"><span class="html-tag"><html> |
| <head> |
| <title></span>Admin secure area<span class="html-tag"></title> |
| </head> |
| <body> |
| <h1></span>Admin secure area<span class="html-tag"></h1> |
| </body> |
| </html></span></pre> |
| </li> |
| </ol> |
| |
| <a name="indexpage"></a> |
| <h3 class="tutorial">Criando a Página de Índice JSP</h3> |
| <p>Agora você criará a página de índice JSP contendo links para as áreas seguras. Quando o usuário clicar no link, será solicitado que ele forneça o nome de usuário e a senha. Se você estiver utilizando um log-in básico, esses dados serão solicitados na janela de log-in do browser default. Se você estiver utilizando uma página de form de log-in, o usuário informará o nome de usuário e a senha em um form.</p> |
| <ol> |
| <li>Abra <tt>index.jsp</tt> no Editor de Código-Fonte e adicione os seguintes links a <tt>pageA.html</tt> e <tt>pageU.html</tt>: |
| <pre class="examplecode"><span class="jsp-html-tag"><p></span>Request a secure Admin page <span |
| class="jsp-html-tag"><a</span> <span |
| class="jsp-html-argument">href=</span><span class="jsp-xml-value">"secureAdmin/pageA.html"</span><span |
| class="jsp-html-tag">></span>here!<span class="jsp-html-tag"></a></p> |
| <p></span>Request a secure User page <span |
| class="jsp-html-tag"><a</span> <span |
| class="jsp-html-argument">href=</span><span |
| class="jsp-xml-value">"secureUser/pageU.html"</span> <span |
| class="jsp-html-tag">></span>here!<span class="jsp-html-tag"></a></p></span></pre> |
| </li> |
| <li>Salve as alterações.</li> |
| </ol> |
| |
| |
| <a name="loginform"></a> |
| <h3 class="tutorial">Criando um Form de Log-in (obrigatório para Tomcat e opcional para GlassFish ou WebLogic Server)</h3> |
| <p>Se você quiser usar um form de log-in em vez do log-in básico, crie uma página <tt>jsp</tt> contendo o form. Em seguida, especifique o log-in e as páginas de erro ao <a href="#Basic_login_config">configurar o método de log-in</a>.</p> |
| <p class="alert"><strong>Importante:</strong> Os usuários do Tomcat devem criar um form de log-in.</p> |
| <ol> |
| <li>Na janela Projetos, clique com o botão direito do mouse na pasta Páginas Web e selecione Novo > JSP.</li> |
| <li>Defina o nome do arquivo como <tt>login</tt>, deixe os outros campos com seu valor default e clique em Finalizar.</li> |
| <li>No Editor de Código-Fonte, insira o código a seguir entre as tags <tt><body></tt> de <tt>login.jsp</tt>.<br> |
| <pre class="examplecode"><<span class="jsp-html-tag">form</span> <span |
| class="jsp-html-argument">action=</span><span |
| class="jsp-xml-value">"j_security_check"</span> <span |
| class="jsp-html-argument">method=</span><span |
| class="jsp-xml-value">"POST"</span><span class="jsp-html-tag">></span> |
| Username:<span class="jsp-html-tag"><input</span> <span |
| class="jsp-html-argument">type=</span><span |
| class="jsp-xml-value">"text"</span> <span class="jsp-html-argument">name=</span><span class="jsp-xml-value">"j_username"</span><span |
| class="jsp-html-tag">><br></span> |
| Password:<span class="jsp-html-tag"><input</span> <span |
| class="jsp-html-argument">type=</span><span |
| class="jsp-xml-value">"password"</span> <span class="jsp-html-argument">name=</span><span class="jsp-xml-value">"j_password"</span><span |
| class="jsp-html-tag">> |
| <input</span> <span |
| class="jsp-html-argument">type=</span><span |
| class="jsp-xml-value">"submit"</span> <span class="jsp-html-argument">value=</span><span class="jsp-xml-value">"Login"</span><span class="jsp-html-tag">> |
| </form></span></pre> |
| </li> |
| <li>Crie um novo arquivo <tt>html</tt> chamado <tt>loginError.html</tt> na pasta Páginas Web. Trata-se de uma página de erro simples.</li> |
| <li>No Editor de Código-Fonte, substitua o código existente em <tt>loginError.html</tt> pelo código a seguir: |
| <pre class="examplecode"><span class="html-tag"><html> |
| <head> |
| <title></span>Login Test: Error logging in<span class="html-tag"></title> |
| </head> |
| <body> |
| <h1></span>Error Logging In<span class="html-tag"></h1> |
| <br/> |
| </body> |
| </html></span></pre> |
| </li> |
| </ol> |
| |
| |
| </div> |
| <!-- ======================================================================================== --> |
| <h2 class="tutorial"><a name="Creating_users_roles"></a>Criando Usuários no Servidor de Destino</h2> |
| <p class="tutorial">Para poder usar a segurança da autenticação de usuário/senha (log-in básico ou log-in com base em form) em aplicações Web, os usuários e suas atribuições apropriadas devem ser definidos no servidor de destino. Para fazer log-in em um servidor, a conta do usuário precisa existir nesse servidor.</p> |
| <p>A forma como você define os usuários e as atribuições varia de acordo com o servidor de destino especificado. Neste tutorial, os usuários <tt>admin</tt> e <tt>user</tt> são usados para testar a configuração da segurança. Você precisa confirmar que esses usuários existem nos respectivos servidores, e que as atribuições apropriadas estejam designadas aos usuários.</p> |
| |
| <div class="indent"> |
| <h3 class="tutorial"><a name="SJSAS"></a>Definindo Usuários no GlassFish Server </h3> |
| <p>Para este cenário, você precisará usar a Console de Administração do GlassFish Server para criar dois novos usuários chamados <tt>user</tt> e <tt>admin</tt>. O usuário chamado <tt>user</tt> terá acesso limitado à aplicação, enquanto que o <tt>admin</tt> terá privilégios de administração. |
| <ol> |
| <li> |
| <p>Abra a Console de Administração na janela Serviços do IDE e clique com o botão da direita do mouse em Servidores > GlassFish Server > Exibir Console de Administração do Domínio. A página de log-in do GlassFish Server será aberta na janela do browser. Você deverá fazer log-in usando o nome de usuário e a senha de administrador para acessar a Console de Administração.</p> |
| <p class="notes"><b>Observação: </b>O Servidor de Aplicações deve estar em execução antes de você acessar a Console de Administração. Para iniciar o servidor, clique com o botão direito do mouse no nó do GlassFish Server e selecione Iniciar.</p> |
| </li> |
| <li>Na Console de Administração, vá até Configurações > server-config > Segurança > Realms > Arquivo. O painel Editar Realm será aberto.<br><img alt="Realm do arquivo para server-config na console de administração do GlassFish 3.1" class="margin-around" src="../../../images_www/articles/72/web/security/edit-realm.png"></li> |
| |
| <li>Clique no botão Gerenciar Usuários na parte superior do painel Editar Realm. O painel Usuários do Arquivo será aberto.<br><img alt="Painel Usuário do Arquivo com o botão Novo usuário realçado" class="margin-around" src="../../../images_www/articles/72/web/security/file-users.png"> |
| </li> |
| <li>Clique em Novo. O painel Novo Usuário do Realm do Arquivo será aberto. Digite <tt>user</tt> como o ID de usuário e <tt>userpw01</tt> como a senha. Clique em OK. </li> |
| <li>Siga as etapas anteriores para criar um usuário chamado <tt>admin</tt> com a senha <tt>adminpw1</tt> no realm <tt>file</tt>.</li> |
| </ol> |
| <h3 class="tutorial"><a name="Tomcat"></a>Definindo Atribuições e Usuários no Servidor Web Tomcat</h3> |
| <p>Para Tomcat 7, crie um usuário com a atribuição de script de gerência e uma senha para esse usuário ao registrar o servidor no NetBeans IDE.</p> |
| <p>Os usuários e as atribuições básicas para o servidor Tomcat estão em <tt>tomcat-users.xml</tt>. Você encontra <tt>tomcat-users.xml</tt> no diretório <tt><i><CATALINA_BASE></i>\conf</tt>.</p> |
| <p class="notes"><b>Observação:</b> Você encontra a localização CATALINA_BASE clicando com o botão direito do mouse no nó do servidor Tomcat na janela Serviços e selecionando Propriedades. As Propriedades do Servidor serão abertas. A localização de CATALINA_BASE encontra-se na guia Conexão.</p> |
| <img alt="Janela Serviços mostrando o menu de contexto para abrir as propriedades do Tomcat 7.0" class="margin-around" src="../../../images_www/articles/72/web/security/tomcat-properties.png"> <img alt="Caixa de diálogo de propriedade do servidor Tomcat 7 mostrando a localização de CATALINA_BASE" class="margin-around" src="../../../images_www/articles/72/web/security/catalina-base.png"> |
| |
| |
| <p class="notes"><b>Observação:</b> Se você usar o Tomcat 6 fornecido com versões mais antigas do IDE, este servidor terá o usuário <tt>ide</tt> definido com uma senha e as atribuições de administrador e gerenciador. A senha do usuário <tt>ide</tt> é gerada quando o Tomcat 6 é instalado. Você pode alterar a senha do usuário <tt>ide</tt> ou copiar a senha em <tt>tomcat-users.xml</tt>.</p> |
| <p><b>Para adicionar usuários ao Tomcat:</b></p> |
| <ol> |
| <li>Abra <tt><i><CATALINA_BASE></i>/conf/tomcat-users.xml</tt> em um editor. |
| </li> |
| <li>Adicione uma atribuição chamada <tt>AdminRole</tt>. <pre class="examplecode"><role rolename="AdminRole"/></pre></li> |
| <li>Adicione uma atribuição chamada <tt>UserRole</tt>.<pre class="examplecode"><role rolename="UserRole"/></pre></li> |
| <li>Adicione um usuário chamado <tt>admin</tt> com a senha <tt>adminpw1</tt> e a atribuição <tt>AdminRole</tt>. |
| <pre class="examplecode"><user username="admin" password="adminpw1" roles="AdminRole"/></pre></li> |
| <li>Adicione um usuário chamado <tt>user</tt> com a senha <tt>userpw01</tt> e a atribuição <tt>UserRole</tt>. |
| <pre class="examplecode"><user username="user" password="userpw01" roles="UserRole"/></pre></li> |
| |
| |
| </ol> |
| <p>O arquivo <tt>tomcat-users.xml</tt> terá a seguinte aparência:</p> |
| <pre class="examplecode"><tomcat-users> |
| <!-- |
| <role rolename="tomcat"/> |
| <role rolename="role1"/> |
| <user username="tomcat" password="tomcat" roles="tomcat"/> |
| <user username="both" password="tomcat" roles="tomcat,role1"/> |
| <user username="role1" password="tomcat" roles="role1"/> |
| --> |
| ... |
| <role rolename="AdminRole"/> |
| <role rolename="UserRole"/> |
| <user username="user" password="userpw01" roles="UserRole"/> |
| <user username="admin" password="adminpw1" roles="AdminRole"/> |
| [User with manager-script role, defined when Tomcat 7 was registered with the IDE] |
| ... |
| </tomcat-users></pre> |
| <h3><a name="wl"></a>Definindo Usuários e Grupos no WebLogic Server</h3> |
| <p>Para este cenário, é necessário primeiro usar a Console de Administração do WebLogic Server para criar dois novos usuários chamados <tt>user</tt> e <tt>admin</tt>. Adicione esses usuários aos grupos <tt>userGroup</tt> e <tt>adminGroup</tt>, respectivamente. Posteriormente, você designará atribuições de segurança a esses grupos. O <tt>userGroup</tt> terá acesso limitado à aplicação, enquanto que o <tt>adminGroup</tt> terá privilégios de administração.</p> |
| <p>As instruções gerais sobre como adicionar usuários e grupos ao servidor WebLogic se encontram na <a href="http://download.oracle.com/docs/cd/E21764_01/apirefs.1111/e13952/taskhelp/security/ManageUsersAndGroups.html">Ajuda On-Line da Console de Administração</a> do WebLogic. </p> |
| <p><b>Para adicionar os usuários “user” e “admin” e os grupos ao WebLogic:</b></p> |
| <ol> |
| <li> |
| <p>Abra a Console de Administração na janela Serviços do IDE e clique com o botão direito do mouse em Servidores > WebLogic Server > Exibir Console de Administração. A página de log-in do GlassFish Server será aberta na janela do browser. Você deverá fazer log-in usando o nome de usuário e a senha de administrador para acessar a Console de Administração.</p> |
| <p class="notes"><b>Observação: </b>O Servidor de Aplicações deve estar em execução antes de você acessar a Console de Administração. Para iniciar o servidor, clique com o botão direito do mouse no nó do WebLogic Server e selecione Iniciar.</p> |
| </li> |
| <li>No painel esquerdo, selecione Realms de Segurança. A página Resumo de Realms de Segurança será aberta.</li> |
| <li>Na página Resumo de Realms de Segurança, selecione o nome do realm (o realm default é “myrealm”). A página Definições de Nome do Realm será aberta.</li> |
| <li>Na página Definições de Nome do Realm, selecione Usuários e Grupos > Usuários. A tabela Usuários será exibida. |
| </li> |
| <li>Na tabela Usuários, clique em Novo. A página Criar Novo Usuário será aberta.</li> |
| <li>Digite no nome “user” e na senha “userpw01”. Opcionalmente, digite uma descrição. Aceite o Provedor de Autenticação default. <br><img alt="Caixa de diálogo da Console de Administração do WebLogic mostrando o novo usuário" class="margin-around" src="../../../images_www/articles/72/web/security/wl-admin-newuser.png"></li> |
| <li>Clique em OK. Retorne para a tabela Usuários.</li> |
| <li>Clique em Novo e adicione um usuário chamado “admin” e a senha “admin1”.</li> |
| <li>Abra a guia Grupos. A tabela Grupos será exibida. </li> |
| <li>Clique em Novo. A janela Criar um Novo Grupo será aberta.</li> |
| <li>Defina o nome do grupo como userGroup. Aceite o provedor default e clique em OK. Você retornará para a tabela Grupos.</li> |
| <li>Clique em Novo e crie o grupo adminGroup.</li> |
| <li>Abra a guia Usuários para o próximo procedimento.</li> |
| |
| </ol> |
| <p>Agora, adicione o usuário <tt>admin</tt> ao <tt>adminGroup</tt> e o usuário <tt>user</tt> ao <tt>userGroup</tt>.</p> |
| <p><b>Para adicionar usuários a grupos:</b></p> |
| <ol> |
| <li>Na guia Usuários, clique no usuário <tt>admin</tt>. A página Definições do usuário será aberta.</li> |
| <li>Na página Definições, abra a guia Grupos.</li> |
| <li>Nos Grupos Pai: Disponível: tabela, selecione <tt>adminGroup</tt>.</li> |
| <li>Clique na seta para a direita, >. O <tt>adminGroup</tt> será exibido nos Grupos Pais: Selecionado: tabela.<br><img alt="Console de administração do WebLogic mostrando as definições de usuário admin" class="margin-around" src="../../../images_www/articles/72/web/security/wl-admin-usersettings.png"></li> |
| <li>Clique em Salvar.</li> |
| <li>Retorne à guia Usuários.</li> |
| <li>Clique no usuário <tt>user</tt> e adicione-o ao <tt>userGroup</tt>.</li> |
| |
| </ol> |
| </div> |
| |
| <a name="Basic_login_config"></a> |
| <h2 class="tutorial">Configurando o Método de Log-in</h2> |
| <p>Ao configurar o método de log-in da aplicação, você pode usar a janela de log-in fornecida pelo browser para autenticação de log-in básico. Como alternativa, você pode criar uma página Web com um form de log-in. Ambos os tipos de configuração de log-in são baseadas na autenticação de usuário/senha.</p> |
| <p>Para configurar o log-in, crie <em>restrições de segurança</em> e designe atribuições a elas. As restrições de segurança definem um conjunto de arquivos. Quando você designa uma atribuição a uma restrição, os usuários com essa atribuição passam a ter acesso aos conjuntos de arquivos definidos pela restrição. Por exemplo, neste tutorial você designa a atribuição AdminRole à restrição AdminConstraint e as atribuições UserRole e AdminRole à restrição UserConstraint. Isso significa que os usuários com a AdminRole têm acesso aos arquivos de Administrador e arquivos de Usuário, mas os usuários com a UserRole têm acesso somente ao arquivos de Usuário.</p> |
| <p class="notes"><b>Observação:</b> Não é um caso comum conceder o acesso separado da atribuição de administrador para arquivos de usuário. Uma alternativa é designar somente a UserRole à UserConstraint e, no lado do servidor, conceder a AdminRole a *usuários* específicos que também são administradores. Você deve decidir como o acesso será concedido caso a caso. </p> |
| <p>Configure o método de log-in para a aplicação, configurando <tt>web.xml</tt>. O arquivo <tt>web.xml</tt> pode ser encontrado no diretório Arquivos de Configuração da janela Projetos.</p> |
| |
| <div class="indent"> |
| <a name="Basic"></a> |
| <h3 class="tutorial">Log-in Básico</h3> |
| <p>Quando você utiliza a configuração de log-in básico, a janela de log-in é fornecida pelo browser. É necessário ter um nome de usuário e uma senha válidos para acessar o conteúdo seguro.</p> |
| |
| <p>As seguintes etapas mostram como configurar um log-in básico para GlassFish Servers e WebLogic Servers. Usuários Tomcat precisam usar o <a href="#form-login">log-in com form</a>.</p> |
| <p><b>Para configurar o log-in básico:</b></p> |
| <ol> |
| <li>Na janela Projetos, expanda o nó Arquivos de Configuração do projeto e clique duas vezes em <tt>web.xml</tt>. O arquivo <tt>web.xml</tt> será aberto no Editor Visual.</li> |
| <li>Clique em Segurança na barra de ferramentas para abrir o arquivo na view Segurança.</li> |
| <li>Expanda o nó Configuração de Log-in e defina a Configuração de Log-in como Básico. |
| <p class="notes"><b>Observação: </b>Se você quiser usar um form, selecione Form em vez de Básico e especifique o log-in e as páginas de erro de log-in. </li> |
| <li>Insira um nome de realm, dependendo do seu servidor. |
| <ul> |
| <li><b>GlassFish:</b> Especifique <tt>file</tt> como o Nome do Realm. Este é o nome default do realm onde você criou os usuários no GlassFish Server.</li> |
| <li><b>Tomcat:</b> Não especifique um nome de realm.</li> |
| <li><b>WebLogic:</b> Especifique o nome do realm. O realm default é <tt>myrealm</tt>.</li> |
| </ul> |
| |
| <img alt="Adicionando o log-in básico e atribuições ao web.xml" class="margin-around" src="../../../images_www/articles/72/web/security/security-roles.png"></li> |
| <li>Expanda o nó Atribuições de Segurança e clique em Adicionar para adicionar um nome de atribuição.</li> |
| <li>Adicione as Seguintes Atribuições de Segurança: |
| <ul> |
| <li><tt>AdminRole</tt>. Os usuários adicionados a esta atribuição terão acesso ao diretório <tt>secureAdmin</tt> do servidor.</li> |
| <li><tt>UserRole</tt>. Os usuários adicionados a esta atribuição terão acesso ao diretório <tt>secureUser</tt> do servidor.</li> |
| </ul> |
| <p class="alert"><b>Cuidado:</b> os nomes de atribuição no GlassFish devem começar com letra maiúscula.</p> |
| </li> |
| <li>Crie e configure um restrição de segurança chamada <tt>AdminConstraint</tt>, fazendo o seguinte: |
| <ol> |
| <li>Clique em Adicionar Restrição de Segurança. Será exibida uma seção para a nova restrição de segurança.</li> |
| <li>Indique <tt>AdminConstraint</tt> para o Nome de View da nova restrição de segurança.<br><img alt="Adicionando a AdminConstraint" class="margin-around" src="../../../images_www/articles/72/web/security/admin-constraint.png"></li> |
| <li>Clique em Add. A caixa de diálogo Adicionar Recurso da Web é aberta.</li> |
| <li><p>Na caixa de diálogo Adicionar Recurso da Web, defina o Nome do Recurso como <tt>Admin</tt> e o Padrão de URL como <tt>/secureAdmin/*</tt> e clique em OK. A caixa de diálogo é fechada.</p> |
| <p class="notes"><b>Observação: </b> Ao utilizar um asterisco (*), você permite que o usuário tenha acesso a todos os arquivos dessa pasta.</p><img alt="Caixa de diálogo Adicionar Recurso da Web" class="margin-around" height="370" src="../../../images_www/articles/72/web/security/addwebresource.png" width="455"></li> |
| <li>Selecione Ativar Restrição de Autenticação e clique em Editar. A caixa de diálogo Editar Nomes de Atribuições será aberta.</li> |
| <li>Na caixa de diálogo Editar Nomes de Atribuições, selecione AdminRole no painel esquerdo, clique em Adicionar e em OK. |
| <p>Depois de concluídas as etapas acima, o resultado deverá ser semelhante à figura a seguir:</p> |
| <img alt="Restrições de Admin e do Usuário" border="1" class="margin-around" src="../../../images_www/articles/72/web/security/constraints.png" width="600"></li> |
| </ol> |
| </li> |
| <li>Crie e configure uma restrição de segurança chamada <tt>UserConstraint</tt>, fazendo o seguinte: |
| <ol> |
| <li>Clique em Adicionar restrição de segurança para criar uma nova restrição de segurança.</li> |
| <li>Indique <tt>UserConstraint</tt> para o Nome de View da nova restrição de segurança.</li> |
| <li>Clique em Adicionar para adicionar uma Coleção de Recursos da Web.</li> |
| <li>Na caixa de diálogo Adicionar Recurso da Web, defina o Nome do Recurso como <tt>User</tt> e o Padrão de URL como <tt>/secureUser/*</tt> e clique em OK.</li> |
| <li>Selecione Ativar Restrição de Autenticação e clique em Editar para editar o campo Nome da Atribuição.</li> |
| <li>Na caixa de diálogo Editar Nomes de Atribuições, selecione AdminRole e UserRole no painel esquerdo, clique em Adicionar e em OK. </li> |
| </ol> |
| Observação: Você também pode definir o time-out da sessão em web.xml. Para definir o time-out, clique na guia Geral do Editor Visual e especifique quanto tempo você deseja que a sessão dure. O default é 30 minutos. <a name="Form"></a> <a name="form-login" /></a> |
| <h3 class="tutorial">Log-in com Form</h3> |
| <p>A utilização de um form para log-in permite que você personalize o conteúdo das páginas de log-in e de erro. As etapas para configurar a autenticação usando um form são as mesmas para a configuração do log-in básico, com a diferença que você especifica as <a href="#loginform">páginas de log-in e de erro</a> criadas.</p> |
| <p>As seguintes etapas mostram como configurar um form para log-in</p> |
| <ol> |
| <li>Na janela Projetos, clique duas vezes em <tt>web.xml</tt> localizado no diretório <tt>Web Pages/WEB-INF</tt> para abrir o arquivo no Editor Visual.</li> |
| |
| <li>Clique em Segurança na barra de ferramentas para abrir o arquivo na view Segurança e expanda o nó Configuração de Log-in.</li> |
| <li>Defina a Configuração de Log-in como Form.</li> |
| <li>Defina a Página de Log-in com Form, clicando em Procurar e localizando <tt>login.jsp</tt>.</li> |
| <li> |
| <p>Defina a Página de Erro de Form, clicando em Procurar e localizando <tt>loginError.html</tt>.</p><img alt="Configurando Forms de Log-in em web.xml" class="margin-around" src="../../../images_www/articles/72/web/security/login-forms.png"> </li> |
| <li>Insira um nome de realm, dependendo do seu servidor. |
| <ul> |
| <li><b>GlassFish:</b> Especifique <tt>file</tt> como o Nome do Realm. Este é o nome default do realm onde você criou os usuários no GlassFish Server.</li> |
| <li><b>Tomcat:</b> Não especifique um nome de realm.</li> |
| <li><b>WebLogic:</b> Especifique o nome do realm. O realm default é <tt>myrealm</tt>.</li> |
| </ul> |
| </li> |
| <li>Expanda o nó Atribuições de Segurança e clique em Adicionar para adicionar um nome de atribuição.</li> |
| <li>Adicione as Seguintes Atribuições de Segurança: |
| <table> |
| <tbody> |
| <tr> |
| <th class="tblheader" scope="col">Atribuição Servidor</th> |
| |
| <th class="tblheader" scope="col">Descrição</th> |
| </tr> |
| <tr> |
| <td class="tbltd1">AdminRole</td> |
| |
| <td class="tbltd1">Os usuários adicionados a esta atribuição terão acesso ao diretório <tt>secureAdmin</tt> do servidor.</td> |
| </tr> |
| <tr> |
| <td class="tbltd1">UserRole</td> |
| |
| <td class="tbltd1">Os usuários adicionados a esta atribuição terão acesso ao diretório <tt>secureUser</tt> do servidor.</td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| <li>Crie e configure um restrição de segurança chamada <tt>AdminConstraint</tt>, fazendo o seguinte: |
| <ol> |
| <li>Clique em Adicionar restrição de segurança para criar uma nova restrição de segurança.</li> |
| <li>Especifique <tt>AdminConstraint</tt> para o Nome de View da nova restrição de segurança.</li> |
| <li>Clique em Adicionar para adicionar uma Coleção de Recursos da Web.</li> |
| <li> |
| <p>Na caixa de diálogo Adicionar Recurso da Web, defina o Nome do Recurso como <tt>Admin</tt> e o Padrão de URL como <tt>/secureAdmin/*</tt> e clique em OK.</p> |
| <p class="notes"><b>Observação: </b> Ao utilizar um asterisco (*), você permite que o usuário tenha acesso a todos os arquivos dessa pasta.</p> |
| <img alt="Caixa de diálogo Adicionar Recurso da Web" class="margin-around" height="370" src="../../../images_www/articles/72/web/security/addwebresource.png" width="455"></li> |
| <li>Selecione Ativar Restrição de Autenticação e clique em Editar. A caixa de diálogo Editar Nomes de Atribuições será aberta.</li> |
| <li>Na caixa de diálogo Editar Nomes de Atribuições, selecione AdminRole no painel esquerdo, clique em Adicionar e em OK. |
| <p>Depois de concluídas as etapas acima, o resultado deverá ser semelhante à figura a seguir:</p> |
| <img alt="Restrições de Admin e do Usuário" border="1" class="margin-around" src="../../../images_www/articles/72/web/security/constraints.png" width="600"></li> |
| </ol> |
| </li> |
| <li>Crie e configure uma restrição de segurança chamada <tt>UserConstraint</tt>, fazendo o seguinte: |
| <ol> |
| <li>Clique em Adicionar restrição de segurança para criar uma nova restrição de segurança.</li> |
| <li>Indique <tt>UserConstraint</tt> para o Nome de View da nova restrição de segurança.</li> |
| <li>Clique em Adicionar para adicionar uma Coleção de Recursos da Web.</li> |
| <li>Na caixa de diálogo Adicionar Recurso da Web, defina o Nome do Recurso como <tt>User</tt> e o Padrão de URL como <tt>/secureUser/*</tt> e clique em OK.</li> |
| <li>Selecione Ativar Restrição de Autenticação e clique em Editar para editar o campo Nome da Atribuição.</li> |
| <li>Na caixa de diálogo Editar Nomes de Atribuições, selecione AdminRole e UserRole no painel esquerdo, clique em Adicionar e em OK. </li> |
| </ol> |
| Observação: Você também pode definir o time-out da sessão em web.xml. Para definir o time-out, clique na guia Geral do Editor Visual e especifique quanto tempo você deseja que a sessão dure. O default é 30 minutos.<a name="Form"></a> |
| </ol> |
| |
| <!--<li>Add Admin and Tomcat (<span style="color: rgb(204, 51, 204);">User</span>) role</li>--> |
| </ol> |
| |
| </div> |
| <h2><a name="sec-dd"></a>Configurando os Descritores de Implantação de Servidor</h2> |
| <p>Se você estiver implantando sua aplicação em um GlassFish Server ou WebLogic Server, será necessário configurar o descritor de implantação de servidor para mapear as atribuições de segurança definidas em <tt>web.xml</tt>. O descritor de implantação de servidor está listado no nó Arquivos de Configuração do seu projeto na janela Projetos. </p> |
| <div class="indent"> |
| <h3><a name="gf-dd"></a>Configurando o Descritor de Implantação do GlassFish Server</h3> |
| <p>O descritor de implantação do GlassFish Server é chamado de <tt>glassfish-web.xml</tt>. O descritor de implantação de servidor se encontra na pasta Arquivos de Configuração. Se não for esse o caso, crie o descritor clicando com o botão direito do mouse no nó do projeto e selecionando Novo > Outro > GlassFish > Descritor de Implantação do GlassFish. Aceite todos os defaults.</p> |
| <p>Observe que os valores inseridos em <tt>web.xml</tt> serão exibidos em <tt>glassfish-web.xml</tt>. O IDE pega esses valores do <tt>web.xml</tt> para você.</p> |
| <p><b>Para configurar o descritor de implantação do GlassFish:</b></p> |
| <ol> |
| <li>Na janela Projetos, expanda o nó Arquivos de Configuração do projeto e clique duas vezes em <tt>glassfish-web.xml</tt>. O descritor de implantação do <tt>glassfish-web.xml</tt> será aberto em um editor especial tabulado para descritores de implantação do GlassFish. |
| <p class="notes"><b>Observação:</b> Em versões do GlassFish Server anteriores à 3.1, esse arquivo é chamado <tt>sun-web.xml</tt>.</p></li> |
| <li>Selecione a guia Segurança para revelar as atribuições de segurança.</li> |
| <li>Selecione o nó da atribuição de segurança AdminRole para abrir o painel Mapeamento de Atribuição de Segurança.</li> |
| <li><p>Clique em Adicionar principal e especifique <tt>admin</tt> como o nome principal. Clique em OK.</p> |
| <img alt="Caixa de diálogo Adicionar Principal" class="marin-around" height="335" src="../../../images_www/articles/72/web/security/add-principal.png" width="454"></li> |
| <li>Selecione o nó da atribuição de segurança UserRole para abrir o painel Mapeamento de Atribuição de Segurança.</li> |
| <li>Clique em Adicionar Principal e especifique <tt>user</tt> como o nome principal. Clique em OK</li> |
| <li>Salve as alterações em <tt>glassfish-web.xml</tt>.</li> |
| </ol> |
| <p>Também é possível exibir e editar o <tt>glassfish-web.xml</tt> no editor de XML clicando na guia XML. Se você abrir o <tt>glassfish-web.xml</tt> no editor XML, você verá que o <tt>glassfish-web.xml</tt> possui as seguintes informações de mapeamento de atribuição de segurança:</p> |
| <pre class="examplecode"><span class="xml-tag"><security-role-mapping> |
| <role-name></span>AdminRole<span class="xml-tag"></role-name> |
| <principal-name></span>admin<span class="xml-tag"></principal-name> |
| </security-role-mapping> |
| <security-role-mapping> |
| <role-name></span>UserRole<span class="xml-tag"></role-name> |
| <principal-name></span>user<span class="xml-tag"></principal-name> |
| </security-role-mapping></span></pre> |
| |
| <!--<a name="jdbc"></a> |
| <h2 class="tutorial">Using JDBC Authorization</h2> |
| <p>If you are deploying your application to the Sun Java System Application Server, you can also configure your application to retrieve the authorization information from a JDBC database table. |
| Using this method, managing user accounts is much easier than managing user accounts directly on the server.</p> |
| <p>The JDBC authorization method is already supported in <a href="http://glassfish.dev.java.net/downloads/31May06.html">the GlassFish server |
| 2.1</a>, but if you are using Sun Java System Application Server 9.0 you need to use a <a |
| href="http://glassfish.dev.java.net/nonav/issues/showattachment.cgi/65/JDBCRealm.jar">precompiled jar</a>. |
| To enable the realm <tt>jdbc-realm</tt> on the Sun Java System Application Server you need to do the following steps. |
| (The steps are based on <a href="http://glassfish.dev.java.net/issues/show_bug.cgi?id=171">JDBCRealm for the GlassFish server.</a>)</p> |
| <ol> |
| <li>Download <a href="http://glassfish.dev.java.net/nonav/issues/showattachment.cgi/65/JDBCRealm.jar">JDBCRealm.jar</a>.</li> |
| <li>Copy the <tt>jar</tt> to the <tt>lib</tt> directory located in the Sun Java System Application Server installation directory.</li> |
| <li>Add the following to the <tt>login.conf</tt> file located in the <tt><i><APPSERVER_HOME></i>/domains/domain1/config/</tt><br> |
| <pre class="examplecode">jdbcRealm { |
| net.java.the GlassFish server.security.auth.realm.jdbc.JDBCLoginModule required; |
| }; |
| </pre></li> |
| <li>Start the server and open the Admin Console.</li> |
| <li>In Configuration > Security > Realms, create a new Realm named |
| "jdbc-realm" and enter the following classname: |
| <pre>net.java.the GlassFish server.security.auth.realm.jdbc.JDBCRealm</pre></li> |
| <li>Add the following properties and values to the realm: |
| <ul> |
| <li>jaas-context : jdbcRealm</li> |
| <li>datasource : jdbc/__default</li> |
| <li>user : APP</li> |
| <li>password : APP</li> |
| <li>find user query : A SQL query that return the user's identifier |
| when injected two parameters (username/password), like<br> |
| "SELECT IDENTIFIER FROM PERSON WHERE USERID = ? AND PASSWORD = ?" </li> |
| <li>find-groups-query : A SQL query that return group name(s) when |
| injected the user name, like<br> |
| "SELECT GROUP_NAME FROM PERSON P, GROUP G WHERE P.GROUP_ID = G.ID AND |
| USERID = ?"</li> |
| </ul> |
| <p><b>Note:</b> The user and password are for the Java DB database server bundled with the Sun Java System Application Server.</p> |
| </li> |
| <li>In the Admin Console, locate Application Server/JVM Settings/Path Settings/Classpath suffix and |
| add the following line:<pre> ${com.sun.aas.installRoot}/lib/JDBCRealm.jar</pre></li> |
| <li>Create the appropriate tables in <tt>jdbc/__default</tt> and add the proper data to the table.</li> |
| </ol> |
| --> |
| <h3><a name="wl-dd"></a>Configurando o Descritor de Implantação do WebLogic Server</h3> |
| <p>O descritor de implantação do WebLogic é chamado de <tt>weblogic.xml</tt>. Atualmente, o <a href="#gf-dd">suporte para descritores de implantação do GlassFish</a> do IDE não se estende aos descritores de implantação do WebLogic. Portanto, você precisa fazer todas as alterações no <tt>weblogic.xml</tt> manualmente.</p> |
| <p>O descritor de implantação do WebLogic Server se encontra na pasta Arquivos de Configuração. Se não for esse o caso, crie o descritor clicando com o botão direito do mouse no nó do projeto e selecionando Novo > Outro > WebLogic > Descritor de Implantação do WebLogic. Aceite todos os defaults.</p></p> |
| <p class="notes" ><b>Observação:</b> Para obter mais informações sobre a segurança de aplicações Web no WebLogic, incluindo segurança declarativa e programática, consulte <a href="http://download.oracle.com/docs/cd/E21764_01/web.1111/e13711/thin_client.htm" target="_blank">Oracle Fusion Middleware Programming Security for Oracle WebLogic Server.</a>. </p> |
| <p><b>Para configurar o descritor de implantação do WebLogic:</b></p> |
| <ol> |
| <li>Na janela Projetos, expanda o nó Arquivos de Configuração do projeto e clique duas vezes em <tt>weblogic.xml</tt>. O descritor de implantação do <tt>weblogic.xml</tt> será aberto no Editor.</li> |
| <li>Dentro do elemento <tt><weblogic-web-app></tt>, digite ou cole os seguintes elementos de designação de atribuição de segurança: |
| <pre class="examplecode"><span class="xml-tag"><security-role-assignment> |
| <role-name></span>AdminRole<span class="xml-tag"></role-name> |
| <principal-name></span>adminGroup<span class="xml-tag"></principal-name> |
| </security-role-assignment> |
| <security-role-assignment> |
| <role-name></span>UserRole<span class="xml-tag"></role-name> |
| <principal-name></span>userGroup<span class="xml-tag"></principal-name> |
| </security-role-assignment></span></pre> |
| </li> |
| <li>Salve as alterações em <tt>weblogic.xml</tt>.</li> |
| </ol> |
| </div> |
| <a name="Deploy_run"></a> |
| <h2 class="tutorial">Implantando e Executando a Aplicação</h2> |
| <p>Na janela Projetos, clique com o botão direito do mouse no nó do projeto e selecione Executar.</p> |
| <p class="notes"><b>Observação:</b> Por default, o projeto foi criado com a funcionalidade Compilar ao Salvar ativado, então, não é necessário compilar o código primeiro para executar a aplicação no IDE. Para obter mais informações sobre a funcionalidade Compile on Save, consulte <a href="http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG510">Building Java Projects</a> no <em>Developing Applications with NetBeans IDE User's Guide</em>.</p> |
| <p>Após a construção e a implantação da aplicação no servidor, a página inicial será aberta no seu Web browser. Selecione a área segura que deseja acessar, clicando em <b>admin</b> ou <b>user</b>.</p> |
| <img alt="Aplicação Implantada 1" border="0" class="margin-around" height="385" src="../../../images_www/articles/72/web/security/deploy1.png" width="459"> |
| <p>Após o fornecimento de usuário e senha, existem três resultados possíveis: |
| <ul> |
| <li><p>A senha deste usuário está correta e o usuário tem privilégios para o conteúdo protegido -> a página de conteúdo protegido será exibida</p><img alt="Área Protegida do Usuário" border="0" class="margin-around" height="385" src="../../../images_www/articles/72/web/security/deploy2.png" width="459"></li> |
| <li><p>A senha deste usuário está incorreta -> A página de erro será exibida</p><img alt="Página de Erro de Log-in" border="0" class="margin-around" height="398" src="../../../images_www/articles/72/web/security/deploy3.png" width="484"></li> |
| <li><p>A senha deste usuário está correta, mas o usuário não tem direito a acessar o conteúdo protegido -> o browser exibe Erro 403 O acesso ao recurso solicitado foi negado</p><img alt="Acesso Negado" border="0" class="margin-around" height="438" src="../../../images_www/articles/72/web/security/deploy4.png" width="510"></li> |
| </ul> |
| <h2><a name="06"></a>Resumo</h2> |
| <p>Neste tutorial, você criou uma aplicação Web protegida. Você editou as definições de segurança usando os editores de Descritor web.xml e glassfish-web.xml, criando páginas Web com log-ins seguros e diversas identidades.</p> |
| |
| <br> |
| <h2>Consulte Também</h2> |
| <ul> |
| |
| <li><a href="quickstart-webapps.html">Introdução ao Desenvolvimento de Aplicações Web</a></li> |
| <li><a href="../../trails/java-ee.html">Trilha de Aprendizado do Java EE e Java Web</a></li> |
| </ul> |
| <hr class="light"> |
| <br> |
| |
| <table class="b-none" cellpadding="10" cellspacing="0" width="100%"> |
| <!-- BEGIN SPACER ROW --> |
| <tr> |
| <td><br> |
| <div class="feedback-box"><a href="/about/contact_form.html?to=3&subject=Feedback: Securing a Web Application">Enviar Feedback neste Tutorial</a></div> |
| <br style="clear:both;" /> |
| |
| |
| <br style="clear:both;" /> |
| </td> |
| </tr> |
| <!-- END SPACER ROW --> |
| </table> |
| <!-- END WRAPPER TABLE, 2 COLUMN, MAIN/RIGHT --> |
| </body> |
| </html> |
| |
| </body> |
| </html> |