Question

Je suis curieux de voir comment le travail ne se souvient de moi et comment ça marche au printemps de sécurité?

Je comprends que le serveur envoie des cookies à long terme au client. Et puis le client renvoie cookie et le serveur peut reconnaître le client, car il y a quelque chose comme le hachage carte sur le serveur avec les relations cookie --> session.

Je ne comprends pas comment le serveur [d'application côté serveur] ne reconnaît un client par cookie qui serveur [Tomcat] a été redémarré.

Comment et où la sécurité Spring Enregistrer la carte de cookie-session avant l'arrêt du serveur? Est-il spécifique au serveur (à savoir différent de quelque chose est arrivé dans Tomcat, Jetty, etc.)?

P.S. un problème plus lié à la sécurité et le redéploiement du printemps: même si je ne cochez pas RememberMe et se connecter, je suis encore reconnu après le redéploiement pendant environ 3 minutes. Est-il réparable?

Était-ce utile?

La solution

Les docs Printemps sécurité discutent comment cela fonctionne réellement.

  

Il utilise l'approche de hachage pour obtenir un utile souvenir-moi stratégie. Essentiellement un cookie est envoyé au navigateur lors de l'authentification interactive réussie, avec le cookie étant composé comme suit:

     

base64(username + ":" + expirationTime + ":" + md5Hex(username + ":" + expirationTime + ":" password + ":" + key))

     

...

     

En tant que tel le souvenir-moi jeton est valide que pour la période spécifiée, et à condition que le nom d'utilisateur, mot de passe et clé ne change pas. En particulier, ce qui a un problème de sécurité en ce qu'un souvenir capturé-moi jeton sera utilisable de tout agent utilisateur jusqu'à ce que le jeton expire. Ce problème est le même que l'authentification Digest.

Fondamentalement, le cookie contient le nom d'utilisateur, mot de passe, le temps d'expiration et une clé (que vous spécifiez), qui sont tous

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top