2010-10-03 33 views
0

J'ai un ActiveX qui déploie une application sur l'ordinateur client et la démarre. Lorsque vous utilisez NTLM sur IIS, l'authentification avec le serveur web est faite par IE et il n'y a pas de problème pour télécharger les fichiers (j'utilise URL Monikers API) mais quand un ActiveX démarre l'application (l'application nécessite également un accès au serveur) il est nécessaire de refaire l'authentification.Obtention d'un jeton de sécurité NTLM à partir d'IE

Je demande s'il existe un moyen d'éviter une seconde authentification.

Merci, Zaky

+0

/moi frissonne à l'idée que les gens utilisent encore des contrôles ActiveX dans le navigateur. (Je sais que c'est probablement une application héritée que vous devez maintenir, mais pour moi-même j'espère que je n'en verrai jamais une autre) – Spudley

+0

eh oui c'est une application héritée .... – Zaky

Répondre

1

Les deux WinINET et URLMON conserver les caches par processus d'information; des titres de compétences cette information n'est pas disponible pour les autres processus. Afin de fournir les informations d'identification à l'autre processus, vous devez les transférer du processus IE en cours vers l'autre processus. Malheureusement, aucune API n'est prise en charge pour cette tâche. En règle générale, toutefois, les environnements qui utilisent NTLM/Negotiate utilisent généralement les informations d'identification par défaut de l'utilisateur, que les API URLMon devraient pouvoir utiliser si les indicateurs appropriés sont définis.

+0

Merci pour la réponse détaillée! Une question de plus, savez-vous comment obtenir un accès à ce cache par processus? Puis-je avoir un accès aux en-têtes de paquets par exemple et acheminer les données vers l'autre processus en utilisant divers mécanismes win32? – Zaky

+0

Désolé, comme je l'ai dit, il n'y a pas d'API supportées pour cette tâche. Aucune API n'accède au cache des informations d'identification du processus. – EricLaw

+0

Merci !!!!! – Zaky