Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

// Код из SecurityАрр1

private void button1_Click(object sender, System.EventArgs e) {

 try {

StreamReader din = File.OpenText(@"C:\animals.txt");

String str;

while((str = din.ReadLine != null) {

listBox1.Items.Add(str);

}

 } catch (SecurityException exception) {

listBox1.Items.Add("Permission denied accessing file");

 }

}

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

Управление группами кода и полномочиями

В управляемой безопасности .NET, если сборка отказывает с исключением безопасности, обычно имеются три пути продолжения работы:

□ Смягчить политику полномочий

□ Переместить сборку

□ Применить для сборки строгое имя

Принимая решения такого рода, нужно брать в расчет уровень надежности сборки.

Включение и выключение системы безопасности

По умолчанию система безопасности .NET обычно включена. Если по какой-то причине необходимо ее выключить, это делается таким образом:

caspol.exe -security off

Чтобы снова включить систему безопасности, используйте команду:

caspol.exe -security on

Риски безопасности, присущие открытию машины при отключении системы безопасности, для нас означают, что систему безопасности необходимо отключать только для тестирования и отладки. Необходимо знать, что приведенная выше команда не требует административных привилегий, т.е. любой пользователь (или вирус) может отключить систему безопасности .NET. Поэтому настоятельно рекомендуется включать систему безопасности Windows, чтобы защититься против злонамеренного или необдуманного использования.

Восстановление политики системы безопасности

Если необходимо восстановить конфигурацию системы безопасности в ее первоначальном состоянии, можно ввести команду:

caspol.exe -reset

Эта команда переводит политику системы безопасности в состояние установки по умолчанию.

Создание группы кода

Можно создавать свои собственные группы кода и затем применять к ним определенные полномочия. Например, мы определяем, что хотим доверять любому коду с web-сайта

www.wrox.com
и предоставляем ему полный доступ к системе (не доверяя коду с любого другого web-сайта). Прежде всего необходимо получить числовую метку группы кода, в которой будет находиться новая группа кода.

caspol.exe -listgroups

Эта команда выводит приблизительно:

Code Groups:

1. All code: Nothing

 1.1. Zone — MyComputer: FullTrust

 1.2. Zone — Intranet: LocalIntranet

1.2.1. All code: Same site Socket and Web.

1.2.2. All code: Same directory FileIO — Read, PathDiscovery

 1.3. Zone - Internet: Internet

1.3.1. All code: Same site Socket and Web.

 1.4. Zone - Untrusted: Nothing

 1.5. Zone — Trusted: Internet

1.5.1. All code: Same site Socket and Web.

…

Используя тот факт, что

Zone: Internet
помечена как 1.3, вводим команду:

caspol.exe -addgroup 1.3 -site www.wrox.com FullTrust

Отметим, что эта команда будет спрашивать подтверждение при попытке явно изменить политику системы безопасности на машине. Если теперь снова выполнить команду

caspol.exe -listgroups
, можно увидеть, что была добавлена новая группа кода, которой присвоено
FullTrust
.

Code Groups:

1. All code: Nothing

 1.1. Zone - MyComputer: FullTrust

 1.2. Zone — Intranet: LocalIntranet

1.2.1. All code: Same site Socket and Web.

1.2.2. All code: Same directory FileIO - Read, PathDiscovery

 1.3. Zone — Internet: Internet

1.3.1. All code: Same site Socket and Web.

1.3.2. Site - www.wrox.com: FullTrust

 1.4. Zone — Untrusted: Nothing

 1.5. Zone - Trusted: Internet

1.5.1. All code: Same site Socket and Web.

1.5.2.

…

В другом примере предположим, что мы хотим создать группу кода в группе кода

Intranet (1.2)
, которая предоставляет
FullTrust
всем приложениям, выполняющимся с определенного общего сетевого диска:

caspol.exe -addgroup 1.2 -url file:///\\intranetserver/sharename/*FullTrust

  • Читать дальше
  • 1
  • ...
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: