Autenticação Servlet – Parte 02

Dentro da especificação Servlet existe uma parcela que compreende a segurança dos recursos acessados por cliente. Dentre estes recursos esta autenticação através de formulário, certificados digitais e ate mesmo por tela autenticação gerada pelo próprio browser.

Dividirei o conteúdo em algumas partes e logo que for terminando de compor estarei disponibilizando. Segue abaixo em negrito o conteúdo que terminei:

Parte 01: Os quatro mecanismo de autenticação

Parte 02: Implantando

Implantando mecanismos de autenticação para aplicações web

Todas as configuração de autenticação são feitas no descritor de implantação (web.xml) e são conhecidas como segurança declarativa. Por padrão todos os recursos de uma aplicação web são acessíveis por todos. Para restringir acesso aos recursos, precisamos identificar três coisas:

  • Coleção de recursos web (Web resource collection): São os recursos que realmente precisam de restrições, tais como arquivos HTML, Servlets, entre outros.
  • Restrição de autorização (Authorization constraint): São as regras que um usuário/cliente do recurso precisa ter para acessar.
  • Restrição de dados do usuário (User data constraint): Especifica o caminho que os dados devem seguir para serem transmitidos do emissor ate o receptor. Em outras palavras, específica a camada de transporte que mantém a política de integridade dos dados e confidencialidade.

A configuração destes itens acontece no descritor de implantação (web.xml) através do elemento  <security-constraint>, que fica diretamente abaixo do elemento <web-app>.

<web-app>

<security-constraint>

<web-resource-collection>

<web-resource-name>relatorios</web-resource-name>

<url-pattern>/servlet/YRossRelatoriosServlet/*</url-pattern>

<url-pattern>/servlet/YRossFinanceirosServlet/*</url-pattern>

<http-method>GET</http-method>

<http-method>POST</http-method>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENCIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>

<login-config>

<auth-method>CLIENT-CERT</auth-method>

</login-config>

</web-app>

Onde:

<web-resource-collection>: Especifica uma coleção de recursos que devem ser aplicadas restrições de segurança.

<web-resource-name>: Nome do recurso

<url-pattern>: Específica o padrão URL em que o recurso será acessado. Semelhante ao <url-pattern> do elemento <servlet-mapping> do mapeamento de URL para um servlet.

<http-method>: Provém um controle sobre requisições HTTP. Específica o método HTTP que as regras de segurança serão aplicadas.

No exemplo anterior serão aplicadas regras de segurança para todas as requisições aos servlets YRossRelatoriosServlet e YRossFinanceirosServlet, sejam elas GET ou POST.

Observação: A ausência do elemento <http-method>, fará com que todas as requisições, independente do método HTTP, sejam restringidas por regras de segurança, caso exista.

É possível observar que dentro do elemento <security-constraint> no exemplo anterior o elemento <security-constraint> é declarado informando o tipo de canal de comunição entre o cliente e servidor.

<user-data-constraint>

<transport-guarantee>CONFIDENCIAL</transport-guarantee>

</user-data-constraint>

Onde:

<transport-guarantee>: Especifica a comunicação entre o cliente e o servidor. Pode assumir os seguintes valores:

- NONE: A aplicação não requer um transporte garantido.

- INTEGRAL: A aplicação requer que os dados enviados do cliente ao servidor estejam em um caminho em que as informações não podem ser alteradas em trânsito. Princípio da Integridade.

- CONFIDENTIAL: A aplicação requer que os dados sejam transmitidos em uma forma que impede que outras entidades observem o conteúdo da transmissão. Geralmente utilizado sobre SSL.

O trecho abaixo, ainda do exemplo anterior, informa que tipo de autenticação será realizada entre o cliente e o servidor.

<login-config>

<auth-method>CLIENT-CERT</auth-method>

</login-config>

Onde:

<auth-method>: Indica qual o método de autenticação. Assume como valor: BASIC, CLIENT-CERT e FORM.

Explore posts in the same categories: Java

Tags: , , , , ,

You can comment below, or link to this permanent URL from your own site.

One Comment on “Autenticação Servlet – Parte 02”


Comment: