AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi HKEY_CURRENT_USER zur Speicherung von Daten verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

HKEY_CURRENT_USER zur Speicherung von Daten verwenden?

Ein Thema von JayRZay · begonnen am 26. Mär 2007 · letzter Beitrag vom 26. Mär 2007
Antwort Antwort
JayRZay

Registriert seit: 4. Mär 2007
23 Beiträge
 
Delphi 7 Personal
 
#1

HKEY_CURRENT_USER zur Speicherung von Daten verwenden?

  Alt 26. Mär 2007, 17:41
Hi mal wieder. Ich habe wieder eine Frage und muss dazu (tut mir Leid, aber danke an alle, die die Geduld haben, den ganzen Mist zu lesen) etwas weiter ausholen.

Ich möchte für mein Programm gerne Lizenzen vergeben. Das ganze funktioniert über einen Anforderungscode, und so weiter, und das klappt auch soweit.

Das Problem ist folgendes: Ich schreibe mein Programm für eine spezielle Abteilung einer größeren Einrichtung kostenlos. Ich wollte per Anforderungscode verhindern, dass sich jemand in der EDV-Abteilung der Einrichtung sagt "Naja, für kostenlos könnten wir ja auch alle das Programm verwenden, nicht nur diese eine Abteilung". Deswegen besteht mein Anforderungscode aus verschlüsselten Daten zum Windowsbesitzer und dessen Organisation. Das dumme ist, wie ich heute gemerkt habe, dass die ganze Einrichtung vermutlich dieselben Windows-Registrierungs-Daten hat.

Was sich unterscheidet, und womit ich meine Abteilung eindeutig identifizieren könnte, sind also nicht die Windows-Besitzer, sondern nur die angemeldeten User. Natürlich kann man das ohne große intellektuelle Anstrengung umgehen aber es wäre in der praktischen Durchführung für die Einrichtung so aufwändig, dass sie wohl eher die Lizenzen legal erwerben würden.

Zur Zeit ist das System folgendes. Der korrekte Freischalt-Code wird bei jedem Start vom Programm intern generiert. Dann wird er abgeglichen mit dem Code, den der User eingegeben hat. Dieser liegt in der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\... . Wenns übereinstimmt, startet er ohne zu meckern weiter, wenn nicht bricht er ab und bittet um den richtigen Code.

Jetzt kommt der Kern der Frage:

Wenn ich jetzt statt den Windows-Besitzer-Daten, die ja überall auf dem Rechner gleich sein sollten, die aktuellen User-Daten (vom angemeldeten Benutzer) für den Code nehmen möchte, kann ich meine Daten ja nicht einfach im Ordner HKEY_LOCAL_MACHINE speichern, weil ich dann nur pro PC einem Windows-Account erlauben könnte, mein Programm zu nutzen (weil halt jeder, der sich mit einem anderen Namen anmeldet, einen anderen Code braucht).

Also müsste ich für jeden User, der grade angemeldet ist, eine eigene Adresse in der Registry hinterlegen, in der er seinen Code eingeben kann. So dass das Programm z.B. beim Benutzer "Karl" einen anderen Code sucht, als wenn "Peter" sich anmeldet.

Wie mache ich das am besten?

a) Kann ich dafür immer denselben Ordner verwenden, wenn ich statt HKEY_LOCAL_MACHINE eher HKEY_CURRENT_USER verwendet? Mein Verständnis von ...CURRENT_USER ist, dass

...CURRENT_USER\MeinProgramm\Codewort

quasi bedeutet, wenn Peter angemeldet ist:

PetersVerzeichnis\MeinProgramm\Codewort

und wenn Karl angemeldet ist

KarlsVerzeichnis\MeinProgramm\Codewort

Also dass ...CURRENT_USER immer den Registry-Zweig enthält, der dem aktuellen User gehört und jeder User könnte in ...CURRENT_USER Daten gespeichtert haben, die nur gelesen werden, wenn ER eingeloggt ist

oder

b) Dass ich "Peter" und "Karl" als Usernamen einlese und als Strings verwende, um auf HKEY_LOCAL_MACHINE Unterverzeichnisse zu erstellen, Marke:

...LOCAL_MACHINE\MeinProgramm\(aktueller Username)\Codewort , um zu erreichen, dass z.B. Peter seine Daten unter:

...LOCAL_MACHINE\MeinProgramm\Peter\Codewort

findet, wenn er auf Windows angemeldet ist.

Oder sind beide Möglichkeiten schlecht, ich habe was falsch verstanden, ich habe was übersehen oder so, und es gibt was viel besseres?

Nochmal, sorry, sorry, sorry für die lange Erklärung. Ich habs dreimal gelesen, ich kriegs nicht kürzer erklärt. Ich hoffe, man kanns halbwegs verstehen, worums mir geht und was ich mir so denke.

Ich danke wieder herzlich für jeden Hinweis!

Jay
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: HKEY_CURRENT_USER zur Speicherung von Daten verwenden?

  Alt 26. Mär 2007, 17:47
Gegenvorschlag:
Pürfe einfach, ob der angemeldete Benutzer in einer bestimmten Windows-Gruppe enthalten ist.
Fall ja, Zugang erlauben.
Der Domänen-Admin kann Benutzer in die Gruppe aufnehmen.
Andreas
  Mit Zitat antworten Zitat
JayRZay

Registriert seit: 4. Mär 2007
23 Beiträge
 
Delphi 7 Personal
 
#3

Re: HKEY_CURRENT_USER zur Speicherung von Daten verwenden?

  Alt 26. Mär 2007, 18:01
Danke schonmal für die Antwort. Aber, wenn ich das recht verstehe - würde das nicht bedeuten, dass der System-Administrator entscheidet, wer das Programm nutzen kann?

Das Problem ist, dass dieser Administrator meiner Abteilung eben auch für diese Einrichtung arbeitet und obwohl er ein netter Mensch ist, erwarte ich nicht, dass er aus Nettigkeit mir gegenüber seinem Arbeitgeber die Rechte an dem Programm vorenthält. Das heißt, wenn die Einrichtung das Programm haben will, wird er es vermutlich irgendwann rausrücken. Wer würde sich, gerade heute, wegen sowas mit seinem Arbeitgeber anlegen wollen. Und das wäre auch ein Zwiespalt, den ich dem Admin gerne ersparen würde. Wenn das Programm sicher sein soll, dann muss ich der einzige sein, der Lizenzen vergeben, und damit mehreren Usern den Zugriff erlauben kann.

Es sei denn die EDV-Abteilung knackt mein Verschlüsselungssystem und generiert sich neue Schlüsselcodes einfach selber. Unerratbar ist das System dahinter sicher nicht, aber dann müssten sie sich wenigstens auf irgendeine Weise angestrengt haben, um an das Programm gekommen zu sein. Ich denke, ich wüsste die Dekodier-Leistung genug zu schätzen um damit leben zu können, dass sie es geknackt haben. Aber einfach "schenken" will ich der gesamten Einrichtung das Programm ganz sicher nicht.

EDIT: Ich habs eben grade auf dem PC von nem Bekannten mit HKEY_CURRENT_USER ausprobieren können und es funktioniert so, wie es sollte.

Ich danke nochmal für die Hilfe!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz