web-dev-qa-db-fra.com

Ajouter automatiquement un indicateur sécurisé au cookie JSESSIONID au printemps

J'ai un serveur d'applications Tomcat qui se trouve derrière un nginx . SSL se termine sur le nginx . L'application Spring Web-mvc déployée sur Tomcat doit définir le drapeau sécurisé sur le JSESSIONID . soyez cool si spring a une détection automatique pour cela afin que je ne me dérange pas pendant le développement car je n'ai pas de SSL là-bas.

Y a-t-il un moyen de dire au printemps de régler le drapeau automatiquement?

J'utilise JavaConfig pour configurer l'application et Maven pour créer un fichier war déployable.

J'ai déjà vérifié cela, mais cela a un aspect moche et statique: positionner l'indicateur 'secure' sur JSESSION id cookie

5
ST-DDT

Si vous utilisez Spring Boot, il existe une solution simple. Il suffit de définir la propriété suivante dans votre application.properties:

server.servlet.session.cookie.secure=true

Source: Documentation printanière - Annexe A. Propriétés d'application courantes

Si vous avez un environnement avec HTTPS et d'autres sans, vous devrez le définir sur false dans les profils sans HTTPS. Sinon, le cookie sécurisé est ignoré.

1
Jonask

dans votre application.yml ajoutez simplement

server:
  session:
    cookie:
      secure: true
0
AYR1112013