Configurando o suporte ao Java Servlet 3.1 para segurança

O WebSphere Application Server tradicional suporta todas as atualizações de segurança, conforme definido na especificação do Java™ Servlet 3.1.

Sobre Esta Tarefa

Aproveite as vantagens dos recursos do Java Servlet 3.1 no WebSphere Application Server tradicional.

Procedimento

  1. Inclua o recurso servlet-3.1 no arquivo server.xml:
    <feature>servlet-3.1</feature>
  2. Determine qual das seguintes funções do Java Servlet 3.1 você deseja usar:
    • Especifique autocomplete=off no formulário de login.
      Ao usar HTML para uma página de login do formulário, configure o campo de formulário da senha para autocomplete="off" para desativar o preenchimento automático nas senhas no navegador da Web. Por exemplo:
      <form method="POST" action="j_security_check">
      <input type="text" name="j_username">
      <input type="password" name="j_password" autocomplete="off">
      </form>
    • Especifique todas as restrições de segurança de autenticação (**).
      O nome da função especial ** indica qualquer usuário autenticado. Quando ** é exibido em uma restrição de autorização, se o usuário for autenticado, esse usuário terá acesso aos métodos que são especificadas na restrição. Os usuários não precisam ser mapeados para esta função nas ligações do aplicativo. Por exemplo:
      <security-constraint id="SecurityConstraint_1">
      		<web-resource-collection id="WebResourceCollection_1">
      			<web-resource-name>Protected with ** role</web-resource-name>
      			<url-pattern>/AnyAuthSecurityConstraint</url-pattern>
      			<http-method>GET</http-method>
      			<http-method>POST</http-method>
      		</web-resource-collection>
      		<auth-constraint id="AuthConstraint_1">
      			<role-name>**</role-name>
      		</auth-constraint>
      </security-constraint>

      Quando o método isUserInRole() é chamado como um nome de função de **, isUserInRole() retorna true se o usuário está autenticado. Se ** for uma função definida na configuração em uma função de segurança, ele não será tratado como qualquer função especial de usuário autenticado. O usuário deve ser mapeado para tal papel em ligações de aplicativos para isUserInRole retornar true.

    • Especifique o sinalizador deny-uncovered-http-methods nos arquivos web.xml.
      Se o elemento deny-uncovered-http-methods estiver especificado no arquivo web.xml, o contêiner nega quaisquer métodos HTTP descobertos que não são enumerados dentro da restrição de segurança combinada para um padrão de URL que é a melhor correspondência para a solicitação de URL. Um código de status 403 (SC_FORBIDDEN) é retornado. Por exemplo:
      <servlet-mapping id="ServletMapping_1">
      		<servlet-name>MyServlet</servlet-name>
      		<url-pattern>/MyURLPattern</url-pattern>
      </servlet-mapping>
      
      <deny-uncovered-http-methods/>
      
      <!-- SECURITY CONSTRAINTS -->
      <security-constraint id="SecurityConstraint_1">
      		<web-resource-collection id="WebResourceCollection_1">
      			<web-resource-name>Protected with Employee or Manager roles</web-resource-name>
      			<url-pattern>/MyURLPattern</url-pattern>
      			<http-method>GET</http-method>
      			<http-method>POST</http-method>
      		</web-resource-collection>
      		<auth-constraint id="AuthConstraint_1">
      			<role-name>Funcionário</role-name>
      			<role-name>Gerenciador</role-name>
      		</auth-constraint>
      </security-constraint>
      Se o elemento deny-uncovered-http-methods for especificado no arquivo web.xml, uma mensagem será registrada no arquivo messages.log para cada padrão de URL em cada servlet, indicando os métodos descobertos com uma nota que esses métodos descobertos estão desprotegidos e não acessíveis. Por exemplo:
      For URL MyURLPattern in servlet MyServlet, the following HTTP methods are uncovered, and not accessible: DELETE OPTIONS HEAD PUT TRACE
      Se o elemento deny-uncovered-http-methods não for especificado no arquivo web.xml, uma mensagem será registrada no arquivo messages.log para cada padrão de URL em cada servlet, indicando os métodos descobertos com uma nota que esses métodos descobertos estão desprotegidos e acessíveis. Por exemplo:
      For URL MyURLPattern in servlet MyServlet, the following HTTP methods are uncovered, and accessible: DELETE OPTIONS HEAD PUT TRACE

Resultados

Agora você assegurou o seu aplicativo.

Ícone que indica o tipo de tópico Tópico de Tarefa



Í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=tsec_servlet31
Nome do arquivo: tsec_servlet31.html