Frage

Unter bestimmten Umständen meine Desktop-Anwendung Sharepoint Web Services endet mit DefaultNetworkCredentials Nullwerte aufweisen, und so schlägt der Aufruf fehl. Ich muß dann die Benutzer-Anmeldeinformationen erhalten, aber ich habe nicht eine straightfoward Weise zu tun.

gefunden

Ich betrachte die Lösung in http: // www. pinvoke.net/default.aspx/credui/CredUIPromptForCredentialsW.html

... aber nach wie vor das wird verlangen, dass ich das Passwort behandeln, die ich wirklich lieber nicht tun. Ich habe gesucht, aber nicht in der Lage gewesen, eine direktere Methode zu finden, die den Benutzer auffordert, und gibt einen NetworkCredential direkt, ohne dass du das Passwort speichern?

Danke,

EDIT: Es sieht aus wie ich werde nicht genau das finden, was ich suche ... Ich werde dem Anwender selbst zu veranlassen, wenn dies geschieht.

Allerdings, wenn ich einige dieser Antworten richtig zu interpretieren, kann es eine Fehlerbedingung für das DefaultNetworkCredentials sein, wie dies in erster Linie null zu sein. Ist das der Fall? Gibt es eine Möglichkeit, die DefaultNetworkCredentials zu zwingen, zu bevölkern, oder ist es wirklich ein einfacher Cache, der nur das letzte Domäne / Benutzer-ID / Passwort für den Ziel-URI (an diesem Tag?, Dass die Anwendung / session?) Verwendet Erinnerung.

War es hilfreich?

Lösung

Ich glaube nicht, können Sie vermeiden, sie zum ersten Mal Handhabung. Aber Sie einen Haken in den Credential Manager, so dass sie vorwärts von diesem Punkt zwischengespeichert werden. Hier ist ein Artikel darüber, wie diese zu tun. Es ist schwer in p / aufrufen, könnte aber die Benutzer eine einheitlichere Erfahrung.

Andere Tipps

Die Arbeiten an dem zugrunde liegenden Problem, die Null-Anmeldeinformationen, anstatt die Benutzer nörgelnden für Informationen, die sie haben bereits eingetragen.

Wenn Sie nicht wollen, dass sie der Lage sein, in Sharepoint anmelden anders thier Kontokorrent (eine nützliche Funktion, vielleicht).

.NET hat Code für mit Anmeldeinformationen zu tun, also warum zweite Vermutung, dass von externen DLLs Ausgehen und das Hinzufügen einer weiteren dependancy zu Ihrer App?

Ich weiß nicht genug über Code Sicherheitsrisiken in Ihrer Umgebung, aber ich hätte das gedacht speichert die Anmeldeinformationen nur im Client-Speicherobjekt wäre „sicher genug“ für die meisten Situationen.

Ich weiß nicht, von etwas, das das Passwort für Sie behandelt, aber Secure kann von nutzen sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top