Использование доказательств, политики безопасности и разрешений для предотвращения загрузки сборки на веб-сервер - PullRequest
0 голосов
/ 11 марта 2010

Допустим код библиотеки классов .NET , который, например, записывает в реестр Windows . Тогда этот код имеет проблему для запуска через Интернет, потому что политика Интернета по умолчанию не дает доступа для записи в реестр.

Добавляя оператор RequestMinimum в сборку, мы можем указать, что для кода требуется разрешение на запись для записи в реестр. Это не изменит того факта, что у кода нет разрешения, но остановит сборку от загрузки ; среда выполнения выдаст System.Security.Policy.PolicyException и определит требуемое разрешение.

Есть ли у вас сейчас другие примеры использования доказательств , политики безопасности и разрешений (ключевых элементов безопасности доступа к коду ) к запретить загрузку сборки на веб-сервере ?

1 Ответ

1 голос
/ 11 марта 2010

Вы можете запретить загрузку любой сборки в любом контексте (веб-сервер или иным образом), если откажете в этом SecurityPermission \ Execution. В .NET 3.5 и более ранних версиях уровни доверия ASP.NET пересекаются с локальной политикой CAS на компьютере для определения окончательного разрешения для любой данной сборки. Следовательно, вы можете предотвратить загрузку сборки в ASP.NET, отказав ей в разрешении на выполнение через локальную политику CAS, используя обычные механизмы подтверждения членства в группе кодов. (Это не будет иметь место в .NET 4.0, где локальная политика CAS больше не будет существовать.)

...