1

これは私の要点を説明するための問題の例です。私はこの問題の解決策を探しているのではなく、その背後にある一般的な考え方を探しています。

人々が動的アセンブリにロードできるようにするプロジェクトがあるとしましょう-アイデアは「プラグイン」です。それが Web サーバー上で実行されているとしましょう。それらは抽象プラグイン クラスから継承し、いくつかのメソッドを定義します...しかし、そのうちの 1 つがこれを行います...

public class SomePlugin : PluginBaseClass {
    //Some method that is supposed to update the 
    //the plugin information
    public virtual void Update() {
        HttpContext.Current.Response.Redirect("http://new-website.com");
    }
}

動的アセンブリがそのようなものにアクセスできるようにしたくありませんが、静的であるため、何ができますか?

アセンブリをロックダウンする方法はわかりませんが、すべての基地をカバーすることはできないようです。クラスを作成できるようにして、一部のものにアクセスできるようにしたいが、他のものにはアクセスできないようにしたい.

動的アセンブリから .NET の静的情報を保護するための提案はありますか?

4

1 に答える 1

1

答えは、プラグインに何を許可するかによって異なります。CAS は解決策かもしれませんが、私はそれが得意ではないので、一般的な例を示すことはできません。別のオプションとして、独自のアプリ ドメインにプラグインをロードすることもできます。別のアプリ ドメインのインスタンスは、HttpContext.Current にアクセスできません。

于 2009-07-31T19:36:40.863 に答える