2017-06-17 5 views
-3

Ich muss drei verschiedene Arten von Lizenz in dnn Module implementieren.So implementieren Sie die Lizenzierung in DNN-Modul

1) 1 DNN-Portal (Standard).

2) 20 Portale innerhalb 1 DNN Installation (professionell).

3) Unbegrenzte DNN-Installationen und Portale (Unternehmen).

Bitte lassen Sie uns wissen, wie Sie diese Funktionalität implementieren.

+2

Ich würde mit dem Schreiben von Code beginnen. – Puppy

+0

Hallo, diese Seite ist für Leute, die Hilfe mit Code bekommen. Sie müssen versuchen, Ihre gewonnene Lösung zu prüfen, und dann posten, welche Probleme Sie damit haben. Vielleicht sollten Sie einige Lösungen googlen und einige davon ausprobieren. siehe: https://Stackoverflow.com/help/how-to-ask –

+0

Ich habe implementiert Lizenz in meinem Modul.In diesem Modul muss ich Dnn host-bezogene Einstellung speichern. Z.B. GUID, HostURL, Servername, IP-Adresse. Ich habe oben deklariert filed.1) 1 dnn Portal - Ich habe Übereinstimmung Aktuelle dnn-Instanz mit Host-URL. 2) 20 Portale innerhalb von 1 DNN Installation - Ich habe Übereinstimmung GUID und Host-URL mit aktuellen dnn Instance.3) Unbegrenzte DNN-Installationen und Portale - Ich habe Server-Name und Server-IP mit aktuellen dnn-Instanz übereinstimmen. – user2156791

Antwort

1

Sie müssen das System an Ihre Bedürfnisse anzupassen, aber hier sind einige Tipps:

  1. Sie eine Lizenzdatei benötigen Sie eine signierte XML-Datei mit RSACryptoServiceProvider und SignedXml Klassen verwenden können. Auf diese Weise können Sie eine Lizenzdatei erstellen, die Sie auf dem Client lesen, jedoch nicht auf dem Client ändern können. Es kann nur auf Ihrem Lizenzserver mit Ihrem privaten Schlüssel geändert werden. Was auch immer Sie in die Lizenzdatei eingeben, um die gültigen Nutzungsrechte der Lizenz zu verfolgen, liegt bei Ihnen. Sie können Dinge wie SKU auf Produkte setzen, PortalIDs auf Ihre 20 Portale.
  2. Woher wissen Sie, ob jemand versucht, Ihre Lizenz zu betrügen, indem er die Lizenzdatei auf einen anderen Server kopiert? Ich verwende einen Hash der DB-Verbindungszeichenfolge. Wenn es nicht übereinstimmt, mache ich die Lizenz ungültig. Ja, jemand könnte mehrere Umgebungen "duplizieren", aber das ist schwer zu tun.
  3. (Gehen Sie mit # 2) Benutzer werden Server wechseln, Hosts ändern, stellen Sie sicher, dass Sie dies Konto. Sie möchten nicht, dass sie ihre Lizenz an einem Freitag ungültig machen, und dann antwortet der Support ihnen erst Montag, um ihnen zu helfen.
  4. Verschrauben Sie Ihre Benutzer nicht. 99,9% von ihnen sind ehrlich, wenn sie etwas tun, was Ihre Lizenz ungültig macht, nehmen Sie an, dass sie nicht versuchen, Ihnen eine zu geben. Ich deaktiviere nur die Back-End-Admin-Seite der Dinge, wenn die Lizenz ungültig wird, lasse ich die Schriftart-Ende voll funktionsfähig, so dass ihre Endbenutzer nicht wissen, ist etwas los.
  5. TRIALS: Es ist schön, einige Funktionen für TRIALS in Ihrem Lizenzsystem zu setzen.
  6. Benutzer möchten es auf Test/QA-Servern verwenden. Ob Sie dafür bezahlen, liegt bei Ihnen, ich nicht, also erlaubt mein Lizenzsystem "Ausnahmen".
  7. Verwenden Sie nicht den Servernamen/ip, da dies Probleme verursachen kann, wenn jemand eine Webfarm besitzt.
  8. Angenommen, es kommt nicht aus der Hand, senden Sie sich eine E-Mail, wenn jemand die Lizenz aktiviert, einen Aktivierungsverlauf speichert und ihn in die E-Mail schreibt. Wenn also etwas faul aussieht, kannst du es schnell sagen.
+0

Vielen Dank für Ihre Wiederholung. Ich habe bereits Lizenzüberprüfungen durch WebAPI-Aufruf implementiert. Wenn jemand versucht, den Host- oder Servernamen zu ändern, wird nach der Antwort des Webapi-Aufrufs eine Fehlermeldung mit ungültigem Lizenzschlüssel angezeigt. Ich muss E-Mail-Funktionalität implementieren sowie eindeutigen Schlüssel mit Kombination von GUID und anderen Wert generieren. Also ich denke, meine Implementierung alle am gleichen Ihre Replay auch versuchen, viel besser zu implementieren, wie Sie sagen. Danke nochmal für die Wiederholung meiner Frage. – user2156791