非ユーザーが他のマシンからトリガーしたり、任意の共有からダブルクリックしたりすることを制限したいサーバー アプリケーションがあります。
ただし、開発者が自分のボックスで簡単に実行できるはずです。
このポリシーを適用するさまざまな方法は何ですか?
アセンブリへのアクセスを制御するには、いくつかの方法があります。
アセンブリはライセンス ベースで保護されているため、ライセンスを持つワークステーションのみがアセンブリを実行できます。
開発者はデバッグ ビルドをチェックせずに実行できます。もちろん、デバッグ ビルドを厳密に管理しています。必要に応じて、セキュリティを強化するためにデバッグ ビルドに追加のチェックを入れることができます。または、開発者にライセンスを発行します。
デバッグ ビルドでは、"#IF DEBUG" でラップされたデバッグ コードにライセンスを追加して、リリース ビルドにコンパイルされないようにします。
これが最善の方法だとは言いませんが、これが私たちが使用する方法です。
気密なアクセス制御ではなく、単純なフェイルセーフを探していると思います...
構成ファイルにマシン名を入力し、アプリケーションの起動時にそれをマシン名と比較します。そうすれば、誤って他の場所で実行することができず、開発中またはアプリケーションが移動された場合でも簡単に変更できます。
1 つのアイデア: 実行するために必要なレジストリ キーを使用できます。
別の例: X509 証明書をキーストアにインストールして実行する必要がある場合があります。
別の方法: System.Security.Permissions を使用して、操作を一連のユーザーまたはグループに制限します。
等