При нажатии на Сумма в примере ArbitraryMethod из Лекция 7, VS 2013 выдается ошибка: Необработанное исключение типа "System.InvalidOperationException" в System.Windows.Forms.dll Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления "lblResult" не из того потока, в котором он был создан. Затем: Необработанное исключение типа "System.InvalidOperationException" в mscorlib.dll Дополнительные сведения: Для каждой асинхронной операции метод EndInvoke может вызываться только один раз. |
Безопасность Windows-форм
Администрирование политики безопасности
С помощью утилиты Microsoft .NET Framework 1.1 Configuration можно настраивать политику безопасности на компьютере. Для ее запуска переходим в Мой компьютер\Панель управления\Администрирование\Microsoft .NET Framework 1.1 Configuration. Открываем вкладку Runtime Security Policy (рис. 10.6).
Окно программы разделено на две части. В левой мы можем выбирать нужный объект, в правой немедленно выводится панель информации с описанием этого объекта и ссылками на возможные действия. Для каждого уровня безопасности — Enterprise, Machine и User (описание см. в табл. 10.2) — имеется своя настройка трех категорий — Code Groups, Permission Sets и Policy Assemblies. Поскольку сами категории совершенно одинаковы для всех уровней, выберем один уровень — Machine — и рассмотрим настройку доступа. Переходим на вкладку Machine —> Code Groups —> All Code —> My_Computer_Zone. На панели описания мы видим описание данной группы кода и ее свойства — условия членства в группе и набор разрешений для данной группы (рис. 10.7).
В этой группе кода определяется доступ на локальном компьютере, аналогично на вкладках LocalIntranet_Zone и Internet_Zone — доступ внутри локальной сети и в Интернете. Если настройка доступа для групп кода My_Computer_Zone и LocalIntranet_Zone представляет ограниченный интерес, то изменение свойств Internet_Zone требуется гораздо чаще — ведь большинство деструктивных действий, совершаемых без ведома пользователя, осуществляется через Интернет. Щелкнем правой кнопкой мыши на группе Internet_Zone и в появившемся контекстном меню выберем "Свойства". На вкладке Membership Condition по умолчанию определено условие членства в этой группе — зона Internet. В выпадающем списке Condition Type, представляющем различные возможные условия вступления в членство этой группы, выбираем условие Strong Name. Теперь нам следует указать открытый ключ, в дополнение к нему можно задать название и версию сборки (рис. 10.8).
После введения необходимых данных переключаемся на вкладку Permission Set, где определяем набор разрешений для этой группы. После завершения редактирования и закрытия окна свойств изменения вступят в силу. Для создания собственного набора разрешений щелкаем правой кнопкой на вкладке Permission Sets и выбираем пункт меню New (рис. 10.9).
В появившемся окне вводим имя нового набора разрешений и его описание (рис. 10.10).
В следующем окне выбираем набор из предлагаемого списка разрешений (рис. 10.11).
При выборе каждого разрешения появляется окно дополнительных свойств, предлагающих более детальную настройку — например, доступ только для чтения, для чтения и записи или только записи. Созданный набор разрешений отображается в списке Permission Sets и может быть использован для настройки политики безопасности учетной записи, компьютера или корпоративной сети.