1
我有這個加載插件類型組件的小應用程序,其他用戶可以免費上傳到服務器。但我不希望用戶能夠訪問其他用戶文件。我需要將每個插件組件的訪問權限設置爲受限制的訪問權限。在ASP.NET中設置FileIOPermissions incode
我試圖設置插件類基類內的訪問,但即使如此,加載的插件類似乎有完整的文件訪問。
我無法設置具有屬性的權限,因爲路徑會根據誰加載頁面而發生變化。
下面是一個代碼snippest:
public abstract class PluginBase<T>
{
public PluginBase
{
PermissionSet ps = new PermissionSet(System.Security.Permissions.PermissionState.None);
ps.AddPermission(new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.PathDiscovery | System.Security.Permissions.FileIOPermissionAccess.Read, HttpContext.Current.Server.MapPath("/app_data/www_somesite_com")));
ps.PermitOnly();
}
}
public class SomePlugin : PluginBase<SomePlugin>
{
public SomePlugin
{
File.WriteAllText("c:\test.txt", "This should not be possible, but it is.. why?");
}
}
提前非常感謝!
這幾乎做我需要的一切。問題是我正在創建軟件,用戶可以自由地上傳usercontrol,並且需要檢查他們是否實際實現了該屬性。出於某種原因(可能是通過設計?)我無法檢查該安全屬性是否實際實現,因爲它沒有顯示在GetCustomAttributes方法返回的列表中。任何人都知道如何檢查該屬性是否被執行。 – Gabfine 2009-09-02 18:11:02