2014-01-19 43 views
0

我們被要求構建帶有一些頁面的Web應用程序(考慮一個頁面是一個功能),並且要求創建許可庫來處理啓用/禁用特點。如何創建許可庫來處理啓用/禁用功能

  1. 許可證元數據應該在XML文件中可用,並且許可證類應該以動態方式創建。
  2. 許可證元數據XML文件可能包含一個標誌來啓用/禁用可用功能。
  3. 許可證元數據XML文件可能包含數量限制,例如:最大用戶數量,最大客戶數量等。
  4. 許可證代碼應創建並加密並存儲在許可證文件中。
  5. 在啓動應用程序時,它將根據許可證元數據XML在運行時解密許可證代碼,然後在其功能上應用參數。 實施例上的許可元數據

    通知 分派器 認證 印刷 最大用戶 最大客戶

上之前之前加密 實施例的許可代碼上的許可代碼例加密 enter image description here

注意:上面的XML只是示例,可以根據產品和客戶端進行更改。所以許可應該在運行時動態完成。

能否請您給一些想法或任何例子來做到這一點..謝謝

+0

您可以傳遞許可信息,包括啓用和禁用許可密鑰內的功能信息。你將不得不拿出生成許可證密鑰的方法,但它應該是不透明的,自我驗證,並留有餘地信息存儲。 –

+0

能否請您提出任何實例鏈接..因爲我沒有任何想法 – Mukarram

+0

剛剛張貼作爲一個答案做。 –

回答

0

您將需要參考System.Security的各個部分,特別是System.Security,並System.Security.Cryptography

使用對稱加密方法,您將從包含一些預先確定的信息的字符串變量生成散列。

然後,你可能會使用一個密碼強的隨機數發生器來生成許可證密鑰。部分密鑰將包含隨機位信息,包括需要檢索或驗證的數據,而您的密鑰的某些部分將包含用於解碼密鑰並將其重新組裝爲可讀的指令。這被稱爲自我驗證。將所需數據隨機分佈在許可證密鑰中的想法稱爲不透明。您可以使用隨機數和工作量證明算法,強制解密密鑰的人按特定順序執行某些步驟以進行自我驗證和數據恢復。

獲得生成的許可證密鑰後,您需要驗證它。這是通過將LicenseProvider屬性添加到要許可的類或組件來實現的。您將實施您自己的LicenseProvider,以處理您剛剛創建的密鑰。

This Microsoft Article深深地涵蓋了運行時使用的授權控件和組件。

+0

如果這回答你的問題,你會標記爲正確的,請嗎?謝謝! –

0

我們使用優秀.NET Reactor這使我們能夠嵌入元數據,我們在運行時檢查,以使各種功能的許可證的一部分。這是一款非常好的產品,雖然花費了幾百美元,但在我看來它更值得。您不僅可以獲得授權,還可以使用該產品的其他一系列功能來保護您的IP。

相關問題