Est-il possible, en utilisant les interfaces XPCOM gecko/firefox, de supprimer ou d'invalider la session active d'un utilisateur sans fermer le navigateur? J'utilise Gecko embedded (spécifiquement GeckoFX) dans une application où il est possible que plusieurs utilisateurs utilisent le composant du navigateur pendant la durée de vie de l'application.Est-il possible de supprimer ou d'invalider une session gecko/firefox sans fermer le navigateur?
L'application permet la navigation sur le Web avec diverses autres fonctionnalités, et lorsque le navigateur Web est «fermé», l'application reste ouverte. Il semble que, en ce qui concerne le moteur gecko, comme le processus ne s'est pas fermé, la session active est toujours active. Si un utilisateur doit se connecter à Gmail ou à Facebook, par exemple, puis fermer le navigateur, à la réouverture du navigateur et à la navigation vers l'une de ces pages, il est déterminé qu'il est toujours connecté. Plusieurs utilisateurs peuvent utiliser l'application. sans que l'application ne sorte réellement, cela soulève des problèmes de confidentialité.
J'ai essayé d'appeler NS_InitXPCOM2 et NS_ShutdownXPCOM dans le constructeur/disposer méthode du contrôle du navigateur, mais NS_InitXPCOM2 ne peut pas être appelée après NS_ShutdownXPCOM au sein de la durée de vie du processus, cette plante simplement.
J'ai également utilisé la méthode PurgeHistory de nsISHistory et la méthode evictEntries de nsICacheService - aucune d'entre elles ne semble avoir un effet immédiat pendant la durée du processus.
Est-ce que quelqu'un connaît des interfaces XPCOM qui peuvent atteindre cet objectif? Alternativement, tous les pointeurs vers des fonctionnalités similaires, que ce soit via les interfaces XPCOM ou les extensions Firefox, seront grandement appréciés (existe-t-il des extensions qui vous permettent d'effacer votre session de navigation sans rouvrir le navigateur? Fenêtre/onglet Firefox?)
Le programme est écrit en C#, mais les réponses dans n'importe quelle langue sont appréciées.
Un grand merci