Нужно ли изучать Code Access Security (CAS)?
Нужно ли узнавать о Code Access Security (CAS) для разработки настольных приложений на C#.
6 ответов
Это довольно широкий вопрос, и ответ зависит от многих вещей. Однако двумя наиболее важными факторами являются ваша целевая среда и способ развертывания.
Большая часть потребительского программного обеспечения устанавливается с помощью установщика (MSI) и получает полное доверие на целевом компьютере. Если это ваша среда и способ доставки, вам, вероятно, никогда не придется изучать или осваивать Code Access Security. С другой стороны, корпоративные клиенты обычно хотят больше контроля над тем, что программное обеспечение может и не может делать. Code Access Security предоставляет ИТ-отделу возможность блокировать приложения и контролировать, с помощью чего они могут утверждать о машине, на которой они установлены. Так что если вы строите для Enterprise, понимание CAS может быть требованием.
Независимо от вашего целевого рынка, способ развертывания приложения может потребовать от вас изучения CAS. Приложения XBAP по умолчанию НЕ имеют полного доверия и требуют значительных шагов для повышения до полного доверия. Развернутые приложения Click-Once также не имеют полного доверия, но их проще повысить до полного доверия. Поэтому, если вы планируете развертывать программное обеспечение с использованием любого из этих методов, вы, вероятно, захотите понять CAS.
И, наконец, Silverlight как платформа по определению не является полным доверием. На самом деле это никогда не может быть полным доверием. Это не проблема CAS, потому что отсутствие глубокого понимания CAS не поможет вам преодолеть тот факт, что Silverlight не включает код, необходимый для выполнения действий с полным доверием. Причина, по которой я включаю Silverlight здесь, заключается в том, что хорошее понимание CAS может пригодиться при понимании некоторых ограничений безопасности, которые существуют в платформе при разработке.
Надеюсь, это поможет.
Да, если вы хотите получить MCPD. В реальном мире я никогда не нуждался в этом. Я пишу заявления для правительства, и они довольно жестки в отношении безопасности, и они никогда не просили об этом.
Это не обязательно, но, безусловно, помогает сделать ваше приложение более безопасным. Заявление о влиянии на методы проясняет ваши намерения.
Настольные приложения считаются "Полным доверием", вам никогда не понадобится CAS для приложений полного доверия.
Я купил книгу вскоре после выхода.NET 1.0, и я никогда не получу время, потраченное на ее чтение.
Я никогда не сталкивался с ситуацией, когда требовалась защита доступа к коду. Это определенное требование для получения MCPD или MCSD (или любого другого нового сертификата), но я думаю, что лучшей идеей будет понимание практики безопасного кодирования (шифрование конфигурации, работа с пользовательским вводом и т. Д.), Прежде чем идти по маршруту. безопасности доступа к коду.
Тьфу, это была хорошая идея (я полагаю), но в реальной жизни CAS поднимает свою уродливую голову, когда вы пытаетесь развернуть или прочитать файл с сетевого диска. "Учиться" несложно, но я бы не стал на этом останавливаться.