我有这个小应用程序,它加载其他用户可以自由上传到服务器的插件类型组件。但我不希望用户能够访问其他用户的文件。我需要将每个插件组件的访问权限设置为受限访问。
我试图在插件类基类中设置访问权限,但即使如此,加载的插件类似乎也具有完整的文件访问权限。
我无法使用属性设置权限,因为路径会根据加载页面的人员而变化。
这是一个代码片段:
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?");
}
}
提前谢谢了!