2009-08-12 4 views
0

Ich mache eine App, die für Multi-User sein sollte. zur Zeit habe ich eine Datei, die Benutzernamen + md5 Passwort-Hash (mit Benutzernamen als Salz) speichertBenutzerrechte speichern - die clevere Art

Jetzt ich App sollte erweitert werden, so dass verschiedene Benutzer verschiedene Berechtigungen haben können. Wie würdest du sie clever lagern, damit niemand sie ändern kann, aber es ist immer noch gut für mich?

Ich benutze C#

Antwort

0

Sie scheinen ein Anfänger zu sein. Für Sie kann ich empfehlen, den ASP.NET-Mitgliedschaftsanbieter zu betrachten.

Aber als Randnotiz, bitte benutzen Sie niemals MD5. Es ist nicht erforderlich, und es ist kaputt. Daher ist es am besten, einen Grund zu rechtfertigen, es nicht zu verwenden, wenn es andere vollkommen akzeptable, nicht gebrochene Hashes gibt.

+0

nein md5 + Salz? aber ich kann nicht umstrukturiert werden, oder? Ich mache eine MD5 aus dem Passwort und dem Benutzernamen, die nicht refaktoriert werden kann und wenn der Benutzer sich anmelden möchte, mache ich das gleiche und vergleiche es mit der gespeicherten Zeichenfolge. –

1

Ich denke, es ist besser, Datenbank-Engine zu verwenden, um diese Operation zu verwalten (der einfachste Weg), aber wenn Sie Datenbank nicht verwenden möchten, können Sie die gleiche Datei verwenden und Schlüssel hinzufügen, um die Berechtigungen wie folgt zu machen:

wael rwx

ahmad rw

K x

aus diesen Zeilen, die Sie, dass wael gelesen haben sehen können, schreiben, ausführen Berechtigungen jetzt in Ihrer Anwendung Sie die Permissio lesen n und erlauben/verbieten die Verwendung.

+0

aber wenn schreiben Benutzerrechte in Unix-Stil in Klartext in die Datei schreibt Ich brauche die Datei vor der Bearbeitung geschützt werden, richtig? Wie kann ich das tun? –

+0

Wenn Sie die Datei schützen möchten, verschlüsseln Sie sie, damit niemand die Bedeutung des Textes versteht. –

+0

verschlüsseln Sie es symmetrisch? –