Вопрос о безопасности доступа к коду (CAS) - PullRequest
2 голосов
/ 04 октября 2010

Я изучаю код доступа безопасности .NET 2.0. Мое текущее понимание таково:

Основной механизм CAS заключается в том, чтобы CLR собирал определенные свидетельства из сборки, а затем использовал свидетельство и политику для разработки набора разрешений для кода сборки. И код сборки не может делать ничего, кроме этого набора разрешений.

Свидетельство используется для классификации определенной сборки в определенную группу кода, а набор разрешений указывается для детализации группы кода.

Существует несколько типов доказательств, которые могут быть собраны CLR во время выполнения.

Легко определить доказательства, такие как Каталог приложений, GAC, Хэш, Строгое имя .

Но как определить доказательства, такие как Издатель, Сайт, Зона, URL ? Где хранятся эти данные доказательств? Являются ли они частью метаданных сборки? Я не думаю, что такие доказательства, как Zone или Site, должны быть частью метаданных.

Большое спасибо.

1 Ответ

2 голосов
/ 04 октября 2010

Следующая страница делает все возможное, чтобы объяснить, как эта информация получается

Таким образом, большая часть этой информации находится не в самой сборке, а в среде размещения CLR. Примеры хостов включают

  • Браузер
  • ASP.Net
  • Shell Host (обычные приложения)

Эти хосты сами предоставляют информацию о сайте, зоне и т. Д. В CLR для данной сборки.

...