Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C# для профСссионалов. Π’ΠΎΠΌ IIΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 105

Автор Π‘ΠΈΠΌΠΎΠ½ Робинсон

ВосстановлСниС

АвтоматичСскоС восстановлСниС являСтся вопросом ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для всСх свойств Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π² систСмС Windows 2000. Если процСсс слуТбы Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ, Ρ‚ΠΎ слуТба автоматичСски запускаСтся снова ΠΈΠ»ΠΈ конфигурируСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΈΠ»ΠΈ автоматичСски пСрСзагруТаСтся вся систСма. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ сущСствуСт ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ слуТбы, ΠΈ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ автоматичСски Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ систСму, поэтому Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ, Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ошибки.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ COM+ Π² Ρ€ΠΎΠ»ΠΈ слуТб

Начиная с Windows Π₯Π  (ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя Whistler), ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ COM+ выполняСтся ΠΊΠ°ΠΊ слуТба. Π’ Windows Π₯Π  слуТба ΠΈΠΌΠ΅Π΅Ρ‚ прямой доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ слуТбам COM+, ΠΊΠ°ΠΊ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΏΡƒΠ»Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡƒΠ»Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² выполнСния ΠΈ Ρ‚.Π΄. Если ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слуТбы COM+ Π² Windows 2000 ΠΊΠ°ΠΊ слуТбы Windows, Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… прилоТСния: ΠΎΠ΄Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с функциями слуТбы, Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ β€” со слуТбами COM+. Π­Ρ‚ΠΎ Π½Π°ΠΌ Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСимущСства:

β–‘ Π›Π΅Π³Ρ‡Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ слуТСбноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Нам Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ большС ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ установкой слуТбы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это выполняСтся прямо ΠΈΠ· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ COM+.

β–‘ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ COM+ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ слуТба. Оно автоматичСски запускаСтся Π²ΠΎ врСмя Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи System ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹ слуТбы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΈΠ· ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ слуТбы.

β–‘ Π‘Π»ΡƒΠΆΠ΅Π±Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, создаваСмоС ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ COM+, ΠΈΠΌΠ΅Π΅Ρ‚ прямой доступ ΠΊ Ρ‚Π°ΠΊΠΈΠΌ слуТбам COM+, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями, ΠΏΡƒΠ»Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΡƒΠ»Ρ‹ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² выполнСния ΠΈ Ρ‚.Π΄.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΎ слуТбах COM+ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π³Π»Π°Π²Π΅ 20.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой Π³Π»Π°Π²Π΅ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ слуТбы Windows ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ .NET Framework. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² слуТбах Windows Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ автоматичСски Π²ΠΎ врСмя Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись System Π² качСствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ слуТбы. .NET Framework ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ слуТб. Π’Π΅ΡΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся для создания, управлСния ΠΈ установки слуТб, находится Π² классах .NET Framework Π² пространствС ΠΈΠΌΠ΅Π½ System.ServiceProcess. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ классов System.Diagnostic становятся Π»Π΅Π³ΠΊΠΎ доступными всС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ‚Π°ΠΊΠΈΡ… слуТб, ΠΊΠ°ΠΊ рСгистрация событий ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π“Π»Π°Π²Π° 25

БистСма бСзопасности .NET

Π’Ρ‹ садитС Π·Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π—Π° сцСной ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρƒ прилоТСния Π½Π΅Ρ‚ подходящСго модуля. Оно соСдиняСтся с Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΎΠΌ, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ кэш сборок ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈ всС это происходит Π±Π΅Π· взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ нСявного обновлСния станСт Π½ΠΎΡ€ΠΌΠΎΠΉ Π² Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Π½ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ здСсь ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ мобильного ΠΊΠΎΠ΄Π°. КакиС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°, Ρ‡Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π°Π΄Π΅ΠΆΠ΅Π½? Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½? Π§Ρ‚ΠΎ нСявно Π΄Π΅Π»Π°Π΅Ρ‚ CLR, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ элСмСнт управлСния Π½Π° сайтС Web Π½Π΅ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π½Π°ΡˆΡƒ ΠΏΠΎΡ‡Ρ‚Ρƒ?

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ систСмы бСзопасности Π² сборках. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сборках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ½ΠΈ ΠΈ ΠΊΠ΅ΠΌ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄ΠΎΠ² с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ характСристиками. НапримСр, вСсь ΠΊΠΎΠ΄ ΠΈΠ· локальной ΠΈΠ½Ρ‚Ρ€Π°Π½Π΅Ρ‚ помСщаСтся Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ бСзопасности (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ систСмным администратором с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ caspol.exe ΠΈΠ»ΠΈ ММБ) для назначСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ.

ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности .NET Π² сборках позволяСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ сборка исходит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΅Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π», ΠΈ распрСдСлСна ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ характСристиками. Π§Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму бСзопасности для ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ прилоТСния? НичСго β€” вСсь ΠΊΠΎΠ΄ автоматичСски выполняСтся Π² контСкстС бСзопасности CLR, хотя ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ систСмы бСзопасности ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ увСрСнности Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ выполняСмый ΠΊΠΎΠ΄ Π½Π°Π΄Π΅ΠΆΠ΅Π½, Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ прСдоставляСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прилоТСния доступ ΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ Π΅ΠΌΡƒ свойствам, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ. Π’ эффСктивном ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ ΠΈΡ… ролями ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ систСма бСзопасности .NET Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ.

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ обсудим свойства управлСния Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ, доступныС Π² .NET, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, администрированиС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°ΠΌΠΈ бСзопасности ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ доступ ΠΊ подсистСмС бСзопасности. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ систСмы бСзопасности ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .NET Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ закрСпят ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ этой Π³Π»Π°Π²Ρ‹.

БистСма бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ

БистСма бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ являСтся свойством .NET, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ управляСт ΠΊΠΎΠ΄ΠΎΠΌ Π² зависимости ΠΎΡ‚ нашСго уровня довСрия Π΅ΠΌΡƒ. Если систСма CLR достаточно довСряСт ΠΊΠΎΠ΄Ρƒ, ΠΎΠ½Π° Π½Π°Ρ‡Π½Π΅Ρ‚ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Однако Π² зависимости ΠΎΡ‚ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ, прСдоставлСнных сборкой, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ срСдС. Если ΠΊΠΎΠ΄ нСдостаточно Π½Π°Π΄Π΅ΠΆΠ΅Π½ для выполнСния, ΠΈΠ»ΠΈ Ссли ΠΎΠ½ рСализуСтся, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ пытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π², пороТдаСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ бСзопасности (Ρ‚ΠΈΠΏΠ° SecurityException ΠΈΠ»ΠΈ Π΅Π³ΠΎ подкласса). БистСма бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΉ срСдС, Π³Π΄Π΅ ΠΎΠ½ Π½Π΅ принСсСт Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Ρ€Π΅Π΄Π°.

НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ ΠΊΠΎΠ΄, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° бСзопасности ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ с сСтСвого диска, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ попытаСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π½Π° локальном дискС, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π² зависимости ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ½ΠΎ Π»ΠΈΠ±ΠΎ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ обработаСтся, Π»ΠΈΠ±ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ систСма бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ Π² .NET являСтся сущСствСнным достоинством, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ…. Она прСдоставляСт высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°ΠΌ Π½Π΅ трСбуСтся Π² это Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ. ОсобСнно Π²Π°ΠΆΠ½ΠΎ для нас, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²ΠΎΠ²Π»Π΅Ρ‡Π΅Π½Ρ‹, являСтся ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ бСзопасности ΠΏΡ€ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ· прилоТСния, ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠ΅Π³ΠΎ ΠΎΡ‚ поставщиков ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, Π³Π΄Π΅ систСма бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Π°, являСтся созданиС прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ элСмСнт, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. НапримСр, Ссли сущСствуСт Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, содСрТащая ΠΊΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСму бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ доступ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ доступ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ систСма бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ рСсурсов (Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… дисков, сСти, интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ) ΠΎΡ‚ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ являСтся инструмСнтом для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для систСмы бСзопасности, связанной с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнная Π² Windows 2000 подсистСма бСзопасности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ систСма бСзопасности .NET Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ, которая Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна ΠΏΠΎΠ·ΠΆΠ΅.

БистСма бСзопасности доступа ΠΊ ΠΊΠΎΠ΄Ρƒ основываСтся Π½Π° Π΄Π²ΡƒΡ… высокоуровнСвых концСпциях: Code Groups (Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄ΠΎΠ²) ΠΈ Permissions (ΠŸΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΡ).

β–‘ Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄ΠΎΠ² (Code Groups) ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ вмСстС ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ характСристики, хотя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ свойством являСтся источник Π΅Π³ΠΎ происхоТдСния. НапримСр, Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄ΠΎΠ² "Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚" (источники ΠΊΠΎΠ΄Π° ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°) ΠΈ "ΠΈΠ½Ρ‚Ρ€Π°Π½Π΅Ρ‚" (источники ΠΊΠΎΠ΄Π° Π² LAN). Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для помСщСния сборок Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄Π°, называСтся ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ (evidance). Π”Ρ€ΡƒΠ³ΠΎΠ΅ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, собираСмоС CLR, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ издатСля ΠΊΠΎΠ΄Π°, Π΅Π³ΠΎ устойчивоС имя ΠΈ (Π³Π΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ) URI, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½. Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ, ΠΈ сборки ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ нСскольким Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ ΠΊΠΎΠ΄Π°. Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΡ€Π½Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ называСтся "All Code" ΠΈ содСрТит всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠ΄Π°. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния, ΠΊΠ°ΠΊΠΈΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ сборка; Ссли сборка Π½Π΅ прСдоставляСт ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ соотвСтствуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ Π² Π΄Π΅Ρ€Π΅Π²Π΅, Π½Π΅ дСлаСтся Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ отнСсти Π΅Π΅ ΠΊ описанным Π½ΠΈΠΆΠ΅ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ ΠΊΠΎΠ΄Π°.

β–‘ ΠŸΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΡ (Permissions), ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Π°, ΡΠ²Π»ΡΡŽΡ‚ΡΡ дСйствиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠΎΠ΄Π°. НапримСр, полномочия Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ "Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ интСрфСйсу ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ" ΠΈ "Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ локальной памяти". БистСмный администратор ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ управляСт полномочиями, ΠΈ это ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ прСдприятия, ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.