2017-06-17 20 views
-3

dnnモジュールで3種類のライセンスを実装する必要があります。DNNモジュールでライセンスを実装する方法

1)1 DNNポータル(標準)。

2)1 DNNインストール(プロフェッショナル)内の20のポータル。

3)無制限のDNNインストールとポータル(エンタープライズ)。

この機能を実装する方法をお知らせください。

+2

私はいくつかのコードを書くことから始めます。 – Puppy

+0

こんにちは、このサイトはコードのヘルプを得るためのサイトです。あなたはあなたの勝利の解決策を打つ必要があります。おそらくあなたはいくつかのソリューションをgoogleし、それらのいくつかを試してください。 参照:https://stackoverflow.com/help/how-to-ask –

+0

私はModule内のライセンスを実装しています。このモジュールでは、Dnnホスト関連の設定を保存する必要があります。例えば。 GUID、HostURL、ServerName、Ipaddress。私は上の使用を宣言しています.1)1 dnn Portal - 現在のdnnインスタンスとHost urlが一致しています。 2)1つのDNNインストール内の20のポータル - 現在のdnnインスタンスとGUIDおよびホストURLを一致させました.3)無制限のDNNインストールとポータル - 現在のdnnインスタンスとサーバー名とサーバーIPを一致させました。 – user2156791

答えて

1

あなたはあなたのニーズにシステムを調整する必要がありますが、ここではいくつかのヒントがあります:

  1. あなたはRSACryptoServiceProviderとSignedXmlクラスを使用して署名したXMLファイルを使用することができ、ライセンスファイルが必要になります。これにより、クライアント上で読むことができるライセンスファイルを作成できますが、クライアント上で変更することはできません。これは、プライベートキーを使用してライセンスサーバー上でのみ変更できます。ライセンスの有効な使用状況を追跡するためにライセンスファイルに記載されている内容は、お客様の責任になります。 SKUのようなものを商品に、portalIDのものを20のポータルに合わせることができます。
  2. 誰かがライセンスファイルを別のサーバーにコピーしてライセンスを不正行為しようとしているのをどのように知っていますか?私は、DB接続文字列のハッシュを使用します。一致しない場合、私はライセンスを無効にします。そうです、誰かが複数の環境を「複製」できるのですが、それはやりにくいです。
  3. (#2と一緒に行く)ユーザーはサーバーを変更したり、ホストを変更したりします。あなたは金曜日にライセンスを無効にしたくないので、月曜日までサポートしてくれません。
  4. ユーザーを倒さないでください。 99.9%の人があなたのライセンスを無効にする何かをしたら、彼らがあなたの上にあなたを置こうとしていないと仮定して、正直です。私は、ライセンスが無効になった場合にのみ、バックエンドの管理者側を無効にし、フォントエンドを完全に機能させて、エンドユーザが何かを知ることができないようにします。
  5. TRIALS:ライセンスシステムにTRIALSの機能を追加するとよいでしょう。
  6. ユーザーは、テスト/ QAサーバーで使用することができます。あなたのために請求するかどうかはあなた次第ですが、私のライセンスシステムでは「例外」が許されます。
  7. サーバー名/ ipは、誰かがWebファームを持っている場合に問題を引き起こす可能性があるため、使用しないでください。
  8. 誰かがライセンスを有効にして、アクティベーション履歴を保存して電子メールに入れたら、メールを送信してください。だから何か怪しげに見えたら、すぐに伝えることができます。
+0

あなたのリプレイをありがとう。私はすでにWebAPIコールを通じてライセンス検証を実装しています。 webapiコール応答の後にホスト名またはサーバ名を変更しようとする人がいれば、無効なライセンスキーでエラーメッセージが表示されます。 私は電子メール機能を実装するだけでなく、GUIDと他の値の組み合わせで一意のキーを生成する必要があります。 私の実装は、皆さんが言うように、あなたのリプレイももっとよく実装しようと思っています。 もう一度おねがいします。 – user2156791

関連する問題