Понимание безопасности LinkDemand на веб-сервере - PullRequest
2 голосов
/ 03 мая 2010

После развертывания приложения ASP.Net на веб-сервере я получаю это сообщение об ошибке, используя код из внешней сборки: «LinkDemand Тип первого неудачного разрешения: System.Security.PermissionSet Зона сборки, которая Ошибка: MyComputer ошибка ".

Сборка находится в папке \ bin, а не в GAC.

Я пытаюсь узнать, что такое linkdemand и почему это сообщение возникает. Но, ища больше информации, я не понимаю, в чем проблема.

Я также пытаюсь добавить PermissionSetAttribute в класс, где происходит сообщение об исключении:

 [System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Name = "FullTrust")]

Тогда исключение будет возбуждено для другого класса сборки. И так далее ..

Мои вопросы:

  • что именно здесь происходит не так? Правда ли, что я понимаю это сообщение об ошибке, отображаемое, когда Jit не может проверить безопасность кода?

  • Может быть, есть политика безопасности, которая блокирует это (machine.config) или напрямую меняет безопасность?

  • Можно ли установить атрибут PermissionAttribute для всех классов между сборками?

1 Ответ

0 голосов
/ 03 мая 2010

Перейти к административным инструментам и локальной политике безопасности. Хотя я не знаю точной причины, по которой вы получаете ошибку, в основном вы пытаетесь выполнить код, который не разрешен в текущей политике безопасности. Проверьте ваши пути, политику безопасности и требования к разрешениям модуля. Некоторые пути, например рабочий стол, по умолчанию будут работать в режиме пониженной безопасности.

...