Frage

Ich muss die Anmeldeinformationen eines Benutzers für diese Anwendung, die ich erstelle, in verschlüsselter Form speichern, bin mir aber nicht sicher, wo ich die Datei am besten speichern kann.Ich möchte es nicht im Programmanwendungsordner speichern, da ich es pro Benutzer möchte.

Was ist also der beste Ordner (oder Weg), um es zu speichern?

Bearbeiten:Mit C++.

War es hilfreich?

Lösung

Scheint, wie C: \ Dokumente und Einstellungen \% username% \ Lokale Einstellungen \ Anwendungsdaten der geeignete Ort sein können, nach Wikipedia . Der Artikel sagt, dieser Standort für „Anwenderspezifische und computerspezifische Anwendungseinstellungen“ verwendet wird.

Edit: Cruizer wies darauf hin, in den Kommentaren (ich würde es antworten, aber ich kann nicht kommentieren noch), dass in Vista ist es C: \ Users \% username%, und dass es nicht hart codiert sein soll. Danke.

Andere Tipps

Mit der Data Protection API (DPAPI) - einem Teil des Crypto-API in XP und Vista. Hier ist ein guter Überblick über DPAPI - http://msdn.microsoft.com/en -US / library / ms995355.aspx

Ja, sehen lokale Anwendungspfade wie ein Sieger.

fand ich diesen Artikel in MSDN es in C ++ zu erhalten: http: / /msdn.microsoft.com/en-us/library/bb762494.aspx

Beispiel:

char localAppPath[MAX_PATH];
SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, localAppPath);

verwenden Sie .NET? wie etwa IsolatedStorage ? Auf diese Weise würden Sie nicht über die Verzeichnisposition zu kümmern, es wird nur dort sein ...

Benutzerinformationen sollten immer in einem Unterverzeichnis in %HOMEDRIVE%%HOMEPATH% gespeichert werden (das dem Home-Verzeichnis des Benutzers zugeordnet ist).Keine Ausnahmen.Ein guter Ort für anwendungsspezifische Einstellungen pro Benutzer ist ein Unterverzeichnis innerhalb von %APPDATA%.Dies entspricht:„%HOMEDRIVE%%HOMEPATH%\Application Data“ unter XP und an:„ %HOMEDRIVE%%HOMEPATH%\AppData oaming“ unter Vista.

Wenn Sie .NET verwenden spezielle Ordner bekommen Sie verwenden können,

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

oder

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

für die Nicht-Roaming-Version.

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