Comment redirige http en https automatiquement dans une application web de Java?

View more Tutorials:

1- Qu'est-ce que Https ?

Hyper Text Transfer Protocol Secure (HTTPS) est la version la sécurisée de  HTTP (un protocole (protocol) qui transmet des données entre votre navigateur et votre siteweb). La lettre 'S' à la fin de  HTTPS est la abréviation de  'Secure' (La sécurité). Cela signifie que tous les communications entre votre navigateur et le siteweb sont cryptées (encrypted). HTTPS est normallement utilisé pour protecter des transactions confidentielles en ligne telles que des transactions bancaires et des demandes des achats en ligne.
Maintenant,   HTTPS est beaucoup conseillable à utiliser, les siteweb qui utilise  HTTPS a certaines priorités dans le moteur de recherche de  Google.

2- Rediriger de http vers https

Par exemple, vous avez un  website actif avec le protocole  HTTP. Il est supposé que vous avez installé HTTPS avec succès pour votre site web, mais les pages trouvées par les utilisateurs sur Google sont toujours des liens utilisant le protocole HTTP. Par conséquent, vous devez faire quelque chose pour que l'utilisateur accède automatiquement à ces liens et que ces pages redirigent (redirect) automatiquement vers le HTTPS.
  • http://example.com/somepage ==> https://example.com/somepage
Pour les applications  Java Web la réorientation automatique de  http vers  https devient assez simple. Vous avez certaines configurations dans le fichier  web.xml:
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   version="3.0">
   <display-name>My Web App</display-name>

   <!-- .... -->

   <security-constraint>
      <web-resource-collection>
         <web-resource-name>SessionTest</web-resource-name>
         <url-pattern>/*</url-pattern>
      </web-resource-collection>
      <user-data-constraint>
         <transport-guarantee>CONFIDENTIAL</transport-guarantee>
      </user-data-constraint>
   </security-constraint>

  <!-- .... -->

</web-app>
Emballez et redéployez (redeloy) votre application sur  Web Server. C'est tout!
Remarque : Si votre application ne contient pas de fichier  web.xml, vous pouvez le créer et le mettre dans le dossier  WEB-INF.
Quant aux des liens qui n'ont pas besoin d'être sécurisé et ne veulent pas être redirigé automatiquement vers  HTTPS vous pouvez les configurer dans le fichier  web.xml.
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   version="3.0">
   <display-name>My Web App</display-name>

   <!-- .... -->

   <security-constraint>
      <web-resource-collection>
         <web-resource-name>SessionTest</web-resource-name>
         <url-pattern>/*</url-pattern>
      </web-resource-collection>
      <user-data-constraint>
         <transport-guarantee>CONFIDENTIAL</transport-guarantee>
      </user-data-constraint>
   </security-constraint>
 
 
   <security-constraint>
      <web-resource-collection>
         <web-resource-name>Non-SecureResource</web-resource-name>
         <url-pattern>/test.jsp</url-pattern>
         <url-pattern>/somepath/*</url-pattern>
      </web-resource-collection>
      <user-data-constraint>
         <transport-guarantee>NONE</transport-guarantee>
      </user-data-constraint>
   </security-constraint>


  <!-- .... -->

</web-app>

View more Tutorials: