セキュリティとリモート処理の考慮事項
リモート処理を使用すると、アプリケーション ドメイン間、プロセス間、コンピューター間で透過的な呼び出しをセットアップできます。 ただし、コード アクセス セキュリティのスタック ウォークは、プロセスやマシンの境界を越えることはできません (同じプロセスのアプリケーション ドメイン間で適用されます)。
リモート処理可能などのクラス (MarshalByRefObject クラスから派生したクラス) も、セキュリティ対策を行う必要があります。 これには、呼び出し元のコードが暗黙で信頼される閉じた環境だけでコードを使用するか、保護されているコードを、悪意を持った使用が可能な外部エントリに公開しないようにリモート処理呼び出しをデザインするかのいずれかです。
一般的に、宣言セキュリティの LinkDemand および InheritanceDemand のセキュリティ チェックによって保護されているメソッド、プロパティ、およびイベントは絶対に公開しないことが必要です。 リモート処理では、これらのチェックは強制されません。 Demand や Assert などのその他のセキュリティ チェックは、プロセス内のアプリケーション ドメイン間で機能しますが、プロセス間およびコンピューター間のシナリオでは機能しません。