У меня есть небольшое приложение, которое загружает компоненты типа плагина, которые другие пользователи могут свободно загружать на сервер. Но я не хочу, чтобы пользователи имели доступ к файлам других пользователей. Мне нужно настроить доступ каждого компонента плагина к ограниченному доступу.
Я пытался установить доступ внутри базового класса классов плагинов, но даже тогда у загруженных классов плагинов, похоже, есть полный доступ к файлам.
Я не могу установить разрешение с атрибутом, потому что путь меняется в зависимости от того, кто загружает страницу.
Вот фрагмент кода:
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?");
}
}
Заранее большое спасибо!