.NET 4, атрибут AllowParhibitedTrustedCallers и маркировка безопасности, например SecurityCritical

Я новичок в C # и пытаюсь понять новые функции безопасности .NET-4 .

Чтобы заполнить некоторые детали, я ' m в настоящее время пытается обновить AutofacContrib.Moq для работы с последней версией Moq. У меня не было проблем с этим для .NET-3.5 и ниже. Но в .NET-4 ограничения безопасности приводят к многочисленным исключениям безопасности.

Moq имеет единственный метод, GetObjectData , который отмечен атрибутом SecurityCritical . AutofacContrib.Moq имеет набор атрибутов AllowPartiallyTrustedCallers , который является источником исключений. Похоже, что вместо добавления атрибута SecurityRules с SecurityLevel, равным 1, мне лучше удалить атрибут AllowParhibitedTrustedCallers . Я считаю, что это делает сборку SecurityTransparent по умолчанию, чего может быть недостаточно (хотя модульные тесты AutofacContrib.Moq проходят).

Мой главный вопрос на данный момент заключается в том, должны ли сборки, нацеленные на .NET-4, когда-либо использовать атрибут AllowPartialTrustedCallers? Но, учитывая, что я еще точно не все понимаю, какие детали следует учитывать при работе со сборками, отмеченными пометкой безопасности? Нужно ли явно отмечать мою сборку атрибутами безопасности в тех местах, где она прямо или косвенно используется, что-то, что помечено SecurityCritical ?

28
задан Kaleb Pederson 20 February 2011 в 06:32
поделиться