Нужно ли изучать Code Access Security (CAS)? - PullRequest
4 голосов
/ 23 апреля 2009

Нужно ли изучать Code Access Security (CAS) для разработки настольных приложений на C #.

Ответы [ 6 ]

7 голосов
/ 23 апреля 2009

Это довольно широкий вопрос, и ответ зависит от многих вещей. Однако двумя наиболее важными факторами являются ваша целевая среда и способ развертывания.

Большинство потребительских программ устанавливаются с установщиком (MSI) и получают полное доверие на целевом компьютере. Если это ваша среда и способ доставки, вам, скорее всего, никогда не придется изучать или осваивать Code Access Security. С другой стороны, корпоративные клиенты обычно хотят больше контролировать то, что программное обеспечение может и не может делать. Code Access Security предоставляет ИТ-отделу возможность блокировать приложения и контролировать, с помощью чего они могут утверждать о машине, на которой они установлены. Так что, если вы строите для Enterprise, понимание CAS может быть требованием.

Независимо от вашего целевого рынка, то, как вы развертываете свое приложение, может потребовать от вас изучения CAS. Приложения XBAP по умолчанию НЕ имеют полного доверия и требуют значительных шагов для повышения до полного доверия. Развернутые приложения Click-Once также не имеют полного доверия, но их проще повысить до полного доверия. Поэтому, если вы планируете развертывать программное обеспечение с использованием любого из этих методов, вы, вероятно, захотите понять CAS.

И, наконец, Silverlight как платформа по определению не является полным доверием. На самом деле это никогда не может быть полным доверием. Это не проблема CAS, поскольку отсутствие глубокого понимания CAS не поможет вам преодолеть тот факт, что Silverlight не содержит кода, необходимого для выполнения действий с полным доверием. Однако причина, по которой я включаю Silverlight, заключается в том, что хорошее понимание CAS может пригодиться при понимании некоторых ограничений безопасности, которые существуют в платформе по своей конструкции.

Надеюсь, это поможет.

4 голосов
/ 23 апреля 2009

Да, если вы хотите получить MCPD. В реальном мире я никогда не нуждался в этом. Я пишу заявления для правительства, и они довольно жестки в вопросах безопасности, и они никогда не просили об этом.

3 голосов
/ 23 апреля 2009

Это не существенно, но, безусловно, помогает сделать ваше приложение более безопасным. Декларации о влиянии на методы проясняют ваши намерения.

2 голосов
/ 23 апреля 2009

Я никогда не сталкивался с ситуацией, когда требовалась защита доступа к коду. Это определенное требование для получения MCPD или MCSD (или любого другого нового сертификата), но я думаю, что лучшей идеей будет понимание практики безопасного кодирования (шифрование конфигурации, работа с пользовательским вводом и т. Д.), Прежде чем идти по маршруту. безопасности доступа к коду.

2 голосов
/ 23 апреля 2009

Настольные приложения считаются «Полным доверием», вам никогда не понадобится CAS для приложений полного доверия.

Я купил книгу сразу после выхода .NET 1.0, и я никогда не получу время, потраченное на ее чтение.

2 голосов
/ 23 апреля 2009

Тьфу, это была хорошая идея (я полагаю), но в реальной жизни CAS поднимает свою уродливую голову только при попытке развернуть или прочитать файл с сетевого диска. «Учиться» несложно, но я бы не стал на этом останавливаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...