AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Einfachen Berechtigungsserver / Lizenzserver selber machen?

Einfachen Berechtigungsserver / Lizenzserver selber machen?

Ein Thema von Whookie · begonnen am 10. Mai 2007 · letzter Beitrag vom 10. Mai 2007
Antwort Antwort
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#1

Einfachen Berechtigungsserver / Lizenzserver selber machen?

  Alt 10. Mai 2007, 10:40
Ich habe das Problem, dass ich etliche Programme geschrieben habe (Delphi32.2006.vcl) die an unsere Kunden gehen aber auch hausintern Verwendung finden. Im Haus sollten sie aber zusätzliche Funktionen haben und da manche beim Start auch ein Passwort verlangen ist der Wunsch aufgekommen das sie intern ohne Passwort vollen Zugang bieten.

Momentan habe ich das so gelöst, dass es eigens kompilierte Hausversionen (für mehr Funktionen) gibt und Passwörter grundsätzlich einzugeben sind.

Auch habe ich mir natürlich etliche Gedanken gemacht, ob mit Komandozeilenschalter (ala /internal) oder mittels Registryabfragen (und einem Tool das einen entspr. Key in die Registry schreibt) sowas umzusetzen wäre. Das hat aber immer den Nachteil, dass der Kunde wohl früher oder später den Kommandozeilenschalter rauskriegt (hab ich nämlich schon mal versucht ) oder in den Besitz des Registrytools kommt (solche Inhaus-Tools landen irgendwie immer irgendwann beim Kunden).

Meine Idee wäre nun sowas wie einen kleinen "Lizenzserver" im Haus laufen zu lassen. Die Programme können dort nachsehen ob sie bei uns laufen oder nicht und die entspr. Funktionen frei geben.

Bedingungen für ein solches System währen:
> Möglichst keinen zeitlichen Overhead (!!WICHTIG!!)
... vor allem dann, wenn der Server nicht da ist oder kein Netzwerk installiert ist (also wenn das ganze *irgendwo* beim Kunden läuft)
> Lauffähig für w98,w me, w2000, w xp, vista
> Keine zusätzlichen Eingaben von Seiten unserer Kunden (Seriennummer)

Das eigentliche Verfahren könnte ja die MAC des Clients senden und der Server hat eine Liste von freigegebenen MAC's und retourniert für die Freigabe diese MAC (vielleicht verschlüsselt ...

Es würde mir aber wohl auch schon reichen, wenn es irgend ein anderes Kriterium gibt, mit dem ich feststellen kann ob das Programm im Haus läuft (und das ein einmal kompiliertes Programm nicht laufunfähig macht, wenn sich an der EDV-Struktur was ändert).

TIA
Whookie
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Einfachen Berechtigungsserver / Lizenzserver selber mach

  Alt 10. Mai 2007, 10:42
Vielleicht kuckst du mal unter www.ionworx.com
Dort gibts sowas für nicht allzu viel Geld.
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Einfachen Berechtigungsserver / Lizenzserver selber mach

  Alt 10. Mai 2007, 11:01
Danke für die superschnelle Antwort, aber das geht wohl ein bischen weit über das raus was ich mir vorstelle, da müssen dann ja Keys eingegeben werden.(?) Der Kunde sollte möglichst nichts merken von der Sache. Er bekommt die Software und braucht sie auch nicht freischalten. Der Kunde benötigt ohnehin zusätzliche Hardware von uns um damit was anfangen zu können. Auch für die Verwendung im Haus sollten keine Eingaben von Seiten unserer Mitarbeiter nötig sein.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Einfachen Berechtigungsserver / Lizenzserver selber mach

  Alt 10. Mai 2007, 11:41
Ich habe ein ähnliches Problem. Ein Reportgenerator kursiert beim Kunden, soll aber eigentlich pro Arbeitsplatz bezahlt werden.

Nun könnte ich die verklagen, aber ich bin ja nicht blöd. Also habe ich einen kleinen Lizenzserver geschrieben (Alpha-Stadium)

Im Server der Admin neue Lizenzen freischalten, die bekommt er von uns (einfache Text-Dateien). Dazu klickt er einfach im 'License Server Manager' auf 'Add Licences' und wählt die Datei(en) aus. Die gleiche Lizenz- (Text)Datei wird dem Endanwender (dem Client) mitgegeben. Dort steht im Klartext (XML) die Software, Version, Lizenz-ID sowie ein Hash drin. Der Hash verhindert, das man die Lizenz-Info einfach überschreiben kann.

Beim Start schickt die Anwendung eine ID (mit IP, PC-Namen etc.) zum Server und der prüft nun, ob die ID überhaupt (noch) gültig ist etc.

Dann wird die Kombination ID, Datum, IP, PC-Name in einer Liste im Server geloggt.

Nach einiger Zeit können wir nachschauen, wann welcher PC mit welcher ID die Software eingesetzt hat. Wenn es viele sind, und das vielleicht auch noch gleichzeitig, dann kann ich meinen Kunden dezent darauf hinweisen, das da irgendwas mit kursierenden Lizenzen nicht in Ordnung ist.

Der Kunde/Anwender bekommt davon gar nichts mit und eventuelle zusätzliche Lizenzen sprechen wir direkt mit dem Admin bzw. dem Abteilungsleiter ab (nach dem Motto: "Also, wir haben da ein lizenztechnisches Problem, das müssten wir mal lösen"). Alle bewahren ihr Gesicht und wir kommen trotzdem zu unserem Geld.

Über den gleichen Lizenzserver werden übrigens auch Softwareupdates eingespielt. Wenn die Version im Client updateberechtigt ist, dann saugt es über den gleichen Kanal ein Upgrade, installiert es auf dem Client und startet neu.

Na ja, ist alles im Alpha-Stadium, klappt aber im Test.

Vielleicht wäre das ja was. Ich muss mal kramen, ob ich das nochmal zum laufen bekomme.

Ach so: Läuft mit Port 212 (Borland socket server), über den auch der Reportgenerator seinen Verkehr abwickelt.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Einfachen Berechtigungsserver / Lizenzserver selber mach

  Alt 10. Mai 2007, 12:16
Zitat von alzaimar:
Na ja, ist alles im Alpha-Stadium, klappt aber im Test.

Vielleicht wäre das ja was. Ich muss mal kramen, ob ich das nochmal zum laufen bekomme.
Klingt interessant ...
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Einfachen Berechtigungsserver / Lizenzserver selber mach

  Alt 10. Mai 2007, 12:24
Hallo,

die Indy-Komponenten haben doch schon Server-Socket und
Client-Socket Bespiele drin (auch Delphi selber glaube ich).

In einer Konfigurationsdatei beim Client
schreibst du die IP des Servers rein.
Fehlt der Eintrag, geht der Client davon aus,
dass er nicht die volle Funktionalität hat
(sollte es also sehr schnell erkennen ...

Der Server lauscht auf irgendeinem Port,
bekommst der Client von ihm Antwort,
schaltest du die komplette Funktionalität frei.

Du musst jetzt "nur noch" dafür sorgen,
dass der Server nicht zum Kunden kommt.
Zur Not könnte man die IP des Servers auch fest
im Code einprogrammieren, nat. nicht 192.168.x.x


Heiko
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:08 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