1.7. Ativação da Autenticação baseada no Formulário


A autenticação baseada no formulário fornece flexibilidade na definição de uma página JSP/HTML personalizada para logon e uma página separada pela qual os usuários são direcionados, caso um erro ocorra durante o logon.
A autenticação baseada no formulário é definida pela inclusão do <auth-method>FORM</auth-method> no elemento <login-config> do descritor da implantação, web.xml. O logon e as páginas de erro estão também definidas no <login-config>, conforme abaixo:
<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/login.html</form-login-page>
    <form-error-page>/error.html</form-error-page>
  </form-login-config>
</login-config>
Copy to Clipboard Toggle word wrap
Quando um aplicativo da web com autenticação baseada no formulário é implantada, o recipiente da web usa o FormAuthenticator para direcionar usuários à página apropriada. A Plataforma do Aplicativo JBoss Enterprise mantém o pool de sessão de forma que a informação de autenticação não precisa estar presente a cada solicitação. Quando o FormAuthenticator receber uma solicitação, ele consulta o org.apache.catalina.session.Manager por uma sessão existente. Caso a sessão não existir, a nova sessão é criada. Em seguida, o FormAuthenticator verifica os credenciais da sessão.

Nota

Cada sessão é identificada por uma ID de sessão, sendo esta uma sequência de 16 bytes gerada de valores aleatórios. Esses valores são restaurados a partir do /dev/urandom (Linux) por padrão e aplicados hash com o MD5. As checagens são executadas na criação da ID da sessão como garantia de que a ID criada é única.
Uma vez verificada, a ID da sessão é determinada como parte de uma cookie e então retornada ao cliente. Esta cookie é esperada em solicitações de clientes subsequentes e é usada para identificar a sessão do usuário.
A cookie passada ao cliente é o par do valor do nome com diversos atributos opcionais. O atributo do identificador é chamado JSESSIONID. O seu valor é uma sequência hexa da ID da sessão. Esta cookie é configurada para ser não-persistente. Isto significa que ela será deletada ao lado do cliente quando o navegador for encerrado. No lado do servidor, as sessões expiram após 60 segundos de inatividade, sendo que os objetos de sessão do período e suas informações de credencial são deletados.
Vamos dizer que um usuário tenta acessar o aplicativo da web que está protegido com uma autenticação baseada no formulário. O FormAuthenticator aplica o cache na solicitação, cria uma nova sessão se for necessário, e redireciona o usuário à página de logon definida no login-config. (No código da amostra anterior, a página de logon é login.html.) Em seguida, o usuário insere seu nome e senha de usuário no formulário HTML fornecido. O nome e senha do usuário são passados ao FormAuthenticator através da ação do formulário j_security_check.
O FormAuthenticator autentica o nome e senha do usuário em relação ao realm anexado ao contexto do aplicativo da web. O realm é o JBossWebRealm, na Plataforma do Aplicativo JBoss Enterprise. O FormAuthenticator restaura as solicitações salvas do cache e redireciona o usuário à solicitação original, quando a autenticação for bem sucedida.

Nota

O servidor reconhece as solicitações de autenticação do formulário apenas quando o URI encerrar por /j_security_check e que pelo menos os parâmetros j_username e j_password existam.
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat