Hungry Mind , Blog about everything in IT - C#, Java, C++, .NET, Windows, WinAPI, ...

"Прозрачные" .NET сборки

В .NET 2.0 Security появилась возможность отмечать код, как "прозрачный". На такой код накладываются следующие правила и ограничения:
  • Не может выполнять permissions Assert;
  • Не может удовлетворять LinkDemand-ам. Все LinkDemand-ы автоматически становятся обычными Demand-ами;
  • Не может использовать непроверяемый код просто так, даже если установлено разрешение SkipVerification. В местах вызова такого кода автоматически добавляется проверка разрешения UnmanagedCode. Соответственно все P/Invoke-методы, даже отмеченные атрибутом SuppressUnmanagedCode, проходят предварительно проверку на UnmanagedCodePermission Demand.
Необходимые атрибуты - SecurityTransparent (прозрачный код), SecurityCritical (обычный код). Можно устанавливать на уровне всей сборки, на уровне отдельным методов\классов и пр.

0 коммент.:

Отправить комментарий

Copyright 2007-2011 Chabster