Opções de Acompanhamento de Sessão

O suporte a sessões HTTP também envolve o acompanhamento de sessão. Você pode utilizar cookies, regravação de URL ou informações de SSL (Secure Sockets Layer) para acompanhamento de sessão.

Acompanhamento de Sessão com Cookies

O acompanhamento de sessões com cookies é o padrão. Não é necessária programação especial para rastrear sessões com cookies.

Acompanhamento de Sessão com Regravação de URL

Um aplicativo que utiliza regravação de URL para rastrear sessões deve seguir algumas diretrizes de programação. O desenvolvedor do aplicativo precisa fazer o seguinte:

  • Programar servlets para codificar URLs
  • Fornecer um servlet ou arquivo JSP (JavaServer Pages) como um ponto de entrada para o aplicativo

O uso de regravação de URL também exige que se ative a regravação de URL no recurso de gerenciamento de sessão.

Nota: Em certos casos, os clientes não podem aceitar cookies. Portanto, não é possível utilizar cookies como um mecanismo de acompanhamento de sessões. Os aplicativos podem utilizar a regravação de URL como um substituto.

Programar servlets da sessão para codificar URLs

Dependendo se o servlet está retornando URLs para o navegador ou redirecionando-os, inclua o método encodeURL ou o método encodeRedirectURL no código de servlet. Os exemplos a seguir demonstram o que deve ser substituído no código atual do servlet.

Regravar URLs para retornar ao navegador

Suponha que atualmente você possua a seguinte instrução:

out.println("<a href=\"/store/catalog\">catalog<a>");

Altere o servlet para chamar o método encodeURL antes de enviar o URL para o fluxo de saída:

out.println("<a href=\""");
out.println(response.encodeURL ("/store/catalog"));
out.println("\">catalog</a>"");

Regravar URLs para redirecionar

Suponha que atualmente você possua a seguinte instrução:

response.sendRedirect ("http://myhost/store/catalog");

Altere o servlet para chamar o método encodeRedirectURL antes de enviar o URL para o fluxo de saída:

response.sendRedirect (response.encodeRedirectURL ("http://myhost/store/catalog"));

O método encodeURL e o método encodeRedirectURL são parte do objeto HttpServletResponse. Essas chamadas verificam se a regravação do URL está configurada antes de codificar o URL. Se não estiver configurada, as chamadas retornarão o URL original.

Você também pode configurar o suporte à sessão para ativar a regravação de alternância de protocolos. Quando esta opção estiver ativada, o produto codifica o URL com o ID da sessão para alternar entre os protocolos HTTP e HTTPS.
Evitar Problemas Evitar Problemas: Se deseja codificar uma URL, você deve ativar a propriedade customizada AlwaysEncodeURL e configurar o valor como true.
As propriedades de gerenciamento de sessões, como a configuração de gerenciamento de sessões, podem ser configuradas no nível do servidor, aplicativo ou módulo da Web. As etapas a seguir servem para a configuração das propriedades customizadas para o gerenciamento de sessões no nível de servidor.
  1. No console administrativo, clique em Servidores > Tipos de Servidor > WebSphere Application Servers > server_name > Gerenciamento de Sessões.
  2. Sob Propriedades Adicionais, selecione Propriedades Personalizadas.
  3. Na página Propriedades Customizadas, clique em Novo.
  4. Na página de configurações, insira a propriedade que você deseja configurar no campo Nome e o valor com o qual deseja configurá-la no campo Valor.
  5. Clique em Aplicar ou em OK.
  6. Clique em Salvar na barra de tarefas do console para salvar suas alterações na configuração.
  7. Reinicie o servidor.
gotcha

Fornecer um servlet ou um arquivo JSP como ponto de entrada

O ponto de entrada para um aplicativo, como a tela inicial apresentada, pode não exigir a utilização de sessões. No entanto, se o aplicativo no geral exigir suporte à sessão (ou seja, se alguma parte dele, como um servlet, exigir suporte à sessão), depois que uma sessão for criada, todos os URLs serão codificados para perpetuar o ID de sessão para o servlet (ou outro componente do aplicativo) que está exigindo o suporte à sessão.

O seguinte exemplo mostra como é possível incorporar o código Java™ em um arquivo JSP:

<%
response.encodeURL ("/store/catalog");
%>

Rastreio de Sessão com Informações de SSL (Reprovado)

Recurso Reprovado Recurso Reprovado: O rastreamento de sessão que utiliza o ID de SSL foi reprovado no WebSphere Application Server versão 7.0. Você pode configurar o rastreio de sessão para utilizar cookies ou regravação de URL.depfeat

Nenhuma programação especial é necessária para acompanhar sessões com informações de SSL (Secure Sockets Layer).

Para usar as informações de SSL, ative o rastreio Ativar ID de SSL na página de propriedade de gerenciamento de sessões. Como o ID da sessão SSL é negociado entre o servidor HTTP e o navegador da Web, esse ID não pode continuar ativo em uma falha de servidor HTTP. No entanto, a falha de um servidor de aplicativos não afetará o ID da sessão SSL se um servidor HTTP externo estiver presente entre o WebSphere Application Server e o navegador.

O rastreio SSL é suportado apenas para o IBM® HTTP Server e aos iPlanet Web Servers. É possível controlar o tempo de vida de um ID de sessão SSL ao configurar as opções no servidor da Web. Por exemplo, no IBM HTTP Server, defina a variável de configuração SSLV3TIMEOUT para fornecer uma duração adequada para o ID de sessão SSL. Um intervalo muito curto pode causar a finalização prematura de uma sessão. Além disso, alguns navegadores da Web podem ter os próprios timers que afetam o tempo de vida do ID de sessão SSL. Esses navegadores da Web pode não deixar o ID de sessão SSL ativo o suficiente para atender como um mecanismo útil para o rastreamento de sessão. O Servidor HTTP interno do WebSphere Application Server também suporta o rastreio de SSL.

Quando utilizar o ID de sessão SSL como o mecanismo de acompanhamento de sessão em um ambiente clonado, use cookies ou regravação de URL para manter afinidade de sessão. O cookie ou a URL regravada contém informações de afinidade de sessão que permitem que o servidor da Web roteie corretamente uma sessão novamente para o mesmo servidor para cada solicitação.


Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprs_sesd
Nome do arquivo: rprs_sesd.html