2017-06-17 44 views
-3

我需要在dnn模塊中實現三種不同類型的許可證。如何在DNN模塊中實現許可

1)1個DNN門戶(標準)。

2)1個DNN安裝(專業)內的20個門戶。

3)無限的DNN安裝和門戶(企業)。

請讓我們知道如何實現此功能。

+2

我會先寫一些代碼。 – Puppy

+0

你好,這個網站是爲人們尋求幫助的代碼。您需要嘗試獲得您的解決方案,然後發佈您遇到的問題。也許你應該谷歌一些解決方案,並嘗試其中的一些。 請參閱:https://stackoverflow.com/help/how-to-ask –

+0

我已在我的模塊中實現了許可證。在此模塊中,我必須存儲Dnn主機相關設置。例如。 GUID,HostURL,ServerName,Ipaddress。我已經使用上述declare filed.1)1 dnn Portal - 我有匹配當前dnn實例與主機url。 2)在1 DNN安裝20個門戶網站 - 我有匹配的GUID和主機url與當前dnn實例.3)無限的DNN安裝和門戶網站 - 我有匹配服務器名稱和服務器ip與當前dnn實例。 – user2156791

回答

1

您必須將系統滿足你的需要,但這裏有一些提示:

  1. 您將需要一個許可文件,您可以使用使用的RSACryptoServiceProvider和SignedXml類已簽名的XML文件。這使您可以創建一個許可證文件,您可以在客戶端上讀取該許可證文件,但無法在客戶端上對其進行修改。它只能在您的許可證服務器上使用您的私鑰進行修改。無論您在許可證文件中如何跟蹤許可證的有效用途,都取決於您。您可以將SKU等產品與portal產品進行匹配,以匹配您的20個門戶網站。
  2. 您如何知道某人是否試圖通過將許可證文件複製到另一臺服務器來欺騙您的許可證?我使用數據庫連接字符串的散列。如果不匹配,我會使許可證無效。是的,有人可以「複製」多種環境,但這很難做到。
  3. (與#2一起)用戶將更改服務器,更改主機,請確保對此進行解釋。你不希望他們在星期五使他們的許可失效,然後支持直到星期一纔回答他們,幫助他們。
  4. 不要把你的用戶搞砸。 99.9%的人是誠實的,如果他們做了使你的許可證無效的事情,假設他們不想把重點放在你身上。如果許可證無效,我只能禁用事物的後端管理端,因此我將字體端功能保留爲全功能,以便他們的最終用戶不會知道某些事情已經結束。
  5. 試用版:將TRIALS的某些功能放入許可證系統很不錯。
  6. 用戶將希望在測試/ QA服務器上使用它。無論您收取費用取決於您,我都不會,所以我的許可證系統允許「例外」。
  7. 請勿使用服務器名稱/ IP,因爲如果某人擁有網站,這可能會導致問題。
  8. 假設它不會失控,當有人激活許可證時發送自己的電子郵件,保存激活歷史並將其放入電子郵件中。所以如果有些東西看起來很腥,你可以很快說出來。
+0

感謝您的重播。我已經通過WebAPI調用實施了許可證驗證。 如果有人試圖更改主機或服務器名稱,那麼在webapi調用響應無效並且獲取具有無效許可證密鑰的錯誤消息之後。 我必須實現電子郵件功能以及與GUID和其他值的組合生成唯一的密鑰。 因此,我認爲我的實施都與您的重播相同,也嘗試按照您的說法執行得更好。 再次感謝我的問題。 – user2156791