ответ

0

Прежде всего, вы можете предоставить Full Trust level для только ассамблей вашей потребности через FullTrustAssembliesSection в web.config, и это может быть сделано только для signed assemblies:

<system.web> 
    <securityPolicy> 
    <fullTrustAssemblies> 
     <add assemblyName="MyCustomAssembly" 
     version="1.0.0.0" 
     publicKey="a 320 hex character representation 
     of the public key blob used with a 
     signed assembly" 
     /> 
    </fullTrustAssemblies> 
    </securityPolicy> 
</system.web> 

Обратите внимание, что

The default policy для оценки разрешений предоставляет полное доверие Global Assembly Cache (GAC) сборки и частичное доверие к другим узлам.

Также обратите внимание, что вы можете configure trust level for an application in IIS.

Таким образом, эти параметры могут помочь вам определить, какая именно сборка должна выполняться в соответствии с политикой FullTrust, и сделать другие значения по умолчанию. Однако, если вы все еще быть относительно об уровне доверия для вашего приложения или какую-то библиотеку, я предлагаю вам исследовать Trust Level table и ответить на вопросы:

  • ли наше приложение работать с третьей стороной компонентов?
  • Выполняем ли мы их код на минимально возможном уровне доверия?
  • Что именно должно делать пользовательский код в нашем приложении?
  • Можем ли мы управлять этим разрешением через identity for an application?
  • Можем ли мы управлять этим разрешением через CAS rules?
  • Можем ли мы переместить сторонний код для разделения sandbox ApplicationDomain?

После этого вы можете управлять своей безопасностью приложений по своему усмотрению. Надеюсь это поможет.

Смотрите также:
* ASP.NET Application Security in Hosted Environments * Security Practices: ASP.NET Security Practices at a Glance