Frage

Ich kann diesen Code verwenden, um die GUID und SID des aktuell angemeldeten Benutzers zu erhalten: generasacodicetagpre.

Wenn sich der Benutzer jedoch anmeldet, ohne sich mit dem Netzwerk verbunden zu sein, fällt dieser Code aus ("Der Server kann nicht kontaktiert werden.").Ich kann die Side dieses Benutzers bekommen, auch wenn sie nicht miteinander verbunden sind: generasacodicetagpre.

Aber das WindowsIdentity-Objekt enthält jedoch keine GUID, soweit ich erkennen kann.

Wie kann ich die GUID des aktuellen Benutzers erhalten, wenn sie nicht mit dem Netzwerk verbunden sind?

Hinweis: Dies ist eine Desktop-Anwendung, keine Web-App.

War es hilfreich?

Lösung

Der Sicherheitsidentifikator (SID) ist Teil jedes Prozesse-Tokens, es ist der echte Benutzeridentifikator.Wenn Sie sich in der Arbeitsgruppe befinden, ist es in dem SAM (Teil der Registrierung) jedes Computers gespeichert, wenn Sie sich in der Domäne befinden, wird sie als Attribut eines Benutzerobjekts im aktiven Verzeichnis gespeichert.

Die GUID ist auch ein Attribut eines Benutzerobjekts im Active-Directory, aber es ist wichtig, dass es die Ungültigkeit dieses Objekts sicherstellt.

Soweit ich verstehe, dass die GUID nicht Teil der Windows-Sicherheit ist, so dass ich nicht überrascht, dass es nicht im unbekannten Modus verfügbar ist.

Andere Tipps

Die SID wird im Sicherheitstoken des Benutzers gespeichert, weshalb Sie auf sie offline zugreifen können.Die GUID ist während eines Intra-Forest-Umzugs (somit zwischen den Domains innerhalb desselben Waldes) aufbewahrt, sodass sie damit eine gute Idee ist.Da sich nicht ändert, warum bleiben Sie nicht die GUID-GUID-GUID an die Registry, um das erste Mal, dass Sie die App starten?

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