J'authentifie les utilisateurs dans ldap, mais cela n'arrive qu'une seule fois, lorsque l'utilisateur se connecte. Ensuite, je dois garder mon nom d'utilisateur et mon mot de passe, car avant chaque opération ldap je dois faire bind sur ldap serveur avant chaque opération. Quel est le moyen sûr de mettre en cache ce mot de passe (je ne peux pas stocker dans la base de données ou les cookies) aussi longtemps que la session persiste.django: mise en cache des mots de passe pour l'authentification personnalisée
Répondre
Vous pouvez mettre en cache les informations d'authentification dans les sessions. Si vous avez peur qu'ils "fuient" sur le disque, c'est-à-dire qu'ils soient mis en cache dans la base de données, vous pouvez utiliser des sessions basées sur la mémoire.
Avec le moteur de session de cache (Using cached sessions) et memory based sessions, ceci devrait être accompli facilement.
1: peut-être la solution la plus élégante serait d'écrire votre propre auth-backend et de le partager avec la communauté :-)
solution 2: faire usage de la très bonne caching-api qui a django construire en
J'ai écrit mon propre back-end d'authentification pour ldap, mais dans la base de données je stocke le mot de passe inutilisable. Où dois-je stocker le vrai, donc cela fonctionnerait tant que la session est active? – gruszczy
pourquoi pas mort simple dans la session? – bmaeser
renton: Parce que ce n'est pas sûr. Vous ne pouvez pas le crypter car vous en aurez besoin pour d'autres opérations ldap. –
c'est exactement ce que je veux dire :-) – bmaeser
Peut-être, mais vous n'avez rien dit à propos des sessions. – pajton