2009-07-06 28 views
0

我正在寫一個.NET加載外部程序集並執行第三方腳本的應用程序。我正在尋找一種方法來清理由外部腳本執行的代碼,並且只允許第三方腳本訪問定義的一組網站。創建一個狀態設置爲無的PermissionSet,然後添加所需的網站,並選擇「僅允許」,似乎會伎倆,如果不是因爲第三方代碼可以完全信任,通過使用Assert來恢復它。儘管如此,我還是希望自己控制自己的部分代碼能夠在完全信任的情況下運行,所以我正在尋找一種方法,以編程方式限制特定線程的信任級別或堆棧中的特定點。隔離一個特定的線程在中等信任下運行

任何幫助將不勝感激。

+1

如果您運行的是完全信任且充滿敵意的第三方代碼,無論您做什麼,都會遇到麻煩。不要試圖通過逐步限制完全可信的代碼來完成不可能的事情,只要不首先授予不可信代碼的完全信任。 – 2009-07-06 18:31:49

+0

我同意,這就是爲什麼我一直在尋找一種方法來實現對一個孤立線程的中等信任,但迄今爲止無濟於事。應閱讀蘆葦的應用程序的替代品。 – 2009-07-06 18:37:10

回答

3

您不能在線程級別執行此操作。

在單個應用程序中擁有不同信任的適當方式是創建一個單獨的AppDomain供第三方腳本運行。

Chris Brumme寫了一個good blog post regarding AppDomains的一些背景閱讀。

相關問題