管理された方法への直接の呼び出しをどのように抑制しますか?
-
21-09-2019 - |
質問
これが本質的に可能かどうか知りたい:
クラウドシナリオを考えてください。ユーザーが.NETコードをサーバーにアップロードできるようにします。ただし、サーバーで物事を管理するために、ユーザーがhttpwebrequest.create()などのメソッドに直接呼び出すコードを作成できるようにすることはできません。
ユーザーがそのようなコードを作成した場合、それは彼/彼女が別のWebサービスに連絡しようとしていることを意味します(例えば)。私の目的は、これらのサービスを別のサーバーを介して提供することですが、他の着信リクエストでメインサーバーが動作することです。
httpwebrequest.create()への呼び出しをブロックしたい。代わりに、ユーザーがそのような呼び出しを行うためのインターフェイスを提供します。この問題についてどのような解決策を考えることができますか?
PS:私は.NET 2.0指向です。あなたがより高いバージョンとの取引に答えるならば、具体的にしてください
解決
コードアクセスセキュリティをご覧ください(http://msdn.microsoft.com/en-us/library/930b76wo0(vs.71).aspx また http://www.codeproject.com/kb/security/ub_cas_net.aspx)
顧客コードが実行される新しい制限付きAppDomainを作成できます。
編集: httpwebrequestを必要とするメソッドを実装する一種のAPIを提供する場合は、サービス(すべての権利を持つ)を作成することをお勧めし、APIはそのサービスを呼び出します。そのサービスでは、必要な制限を実装できます。