Запуск веб-сайтов ASP.Net в среде Medium Trust - PullRequest
0 голосов
/ 28 апреля 2009

Отказ от ответственности: у меня ограниченные навыки ASP.Net

У меня есть несколько веб-сайтов, которые я перенесу с моего текущего хостинга на хостинг Mosso. Когда я попытался перенести один из веб-сайтов, я получил сообщение об ошибке «System.Security.SecurityException: эта сборка не допускает частично доверенных вызывающих программ», что, по-видимому, связано с тем, что Mosso работает на Medium Trust для ASP.Net. приложения, и код на веб-сайте требует полного доверия.

К сожалению, у меня нет доступа к полному исходному коду приложения, а первоначальный разработчик недоступен. Есть ли простой способ обойти эти сайты? Я попытался добавить в web.config, но это не сработало.

Я не думаю, что попросить Моссо отрегулировать уровень безопасности - это вариант, потому что они отказались, когда я их спросил.

У кого-нибудь есть идеи?

Ответы [ 3 ]

1 голос
/ 28 апреля 2009

Является ли ваша сборка сильным именем? Вызывает ли он строго именованные сборки?

Вы должны применить атрибут ' AllowPartiallyTrustedCallers `к сборке. Более подробная информация об этом атрибуте доступна здесь .

Из документов:

По умолчанию сборка со строгим именем это явно не применяется атрибут на уровне сборки, чтобы его использование частично доверенным кодом может вызываться только другими сборками которые получают полное доверие политика безопасности. Это ограничение обеспечивается путем размещения LinkDemand для FullTrust для каждого публичного или защищенного метод на каждом общедоступном класс в сборке. Ассамблеи, которые предназначены для вызова частично доверенный код может объявить свое намерение благодаря использованию AllowPartiallyTrustedCallersAttribute.

См. Эту статью MSDN для получения дополнительной информации.

Редактировать


Некоторая информация, подтверждающая мои подозрения, что атрибут APTCA является возможным решением проблемы:

https://support.isqsolutions.com/article.aspx?id=10334
http://bloggingabout.net/blogs/rick/archive/2006/04/07/11929.aspx

0 голосов
/ 16 июня 2009

Я знаю, что это старо, но я думал, что добавлю к этому что-то, что может помочь. Переход Моссо на Среднее доверие также вызвал у нас некоторые проблемы.

Мы используем BlogEngine.NET и обращаемся к MySQL за его бэкэнд. У нас был MySQL dll в каталоге bin, и это вызывало проблемы со средним доверием. Как только Mosso добавил MySQL dll в GAC, мы смогли успешно его использовать.

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

0 голосов
/ 28 апреля 2009

Извините, но если они не позволят вам установить уровень доверия, у вас могут возникнуть большие проблемы. Вы могли бы посмотреть здесь. Профессиональная безопасность ASP.NET 2.0, членство и управление ролями

Почти то же самое произошло со мной, за исключением того, что моя хостинговая компания изменила свою политику доверия после того, как несколько веб-сайтов работали на их серверах пару лет. В конце концов мне пришлось сдаться и перейти к DiscountASP , поскольку они переопределили <trust level="Full" /> в моем файле конфигурации.

Вот мой оригинальный вопрос. Исключение безопасности ASP.NET WebPermission

Удачи

...