Книга: C# для профессионалов. Том II
Просмотр полномочий сборки
Просмотр полномочий сборки
Предположим, что используется приложение, написанное компанией Microsoft, и мы пытаемся использовать свойство, которое раньше не использовалось. Приложение не имеет копии кода, хранящейся локально, поэтому оно запрашивает ее, и код загружается в глобальный кэш сборок. При таком сценарии для кода из Интернета, опубликованного указанной организацией, подписавшей сборку с помощью сертификата, мы обнаружим, что членство группы кода сборки выглядит примерно так:
Согласно политике в этом примере, группы кода All Code и Internet предоставляют только ограниченные полномочия, а членство группы кода в правом нижнем углу предоставляет сборке полномочие FullTrust. Права всех групп кода объединяются в создании общего эффективного полномочия самого высокого уровня. Таким образом, каждая группа кода, к которой принадлежит сборка, вносит дополнительные полномочия.
Кроме групп кода, к которым принадлежит сборка, мы можем наблюдать полномочия, присвоенные группам кода, а также полномочия идентичности кода, которые дают нам доступ к свидетельству, представленному кодом во время выполнения. Чтобы увидеть полномочия для групп кода сборки, используется команда:
caspol.exe -resolveperm assembly.dll
Проверим это на сборке и визуально оценим предоставленные ей полномочия идентичности и доступа к коду, когда мы получаем к ней доступ через локальную интранет. Если мы введем следующую команду, то увидим полномочия доступа к коду и затем в конце три полномочия идентичности:
caspol.exe -resolveperm http://intranet/assembly.dll
Microsoft (R) .NET Framework CasPol 1.0.xxxx.x
Copyright (c) Microsoft Corp 1999-2001. All rights reserved.
Resolving permissions for level = Enterprise
Resolving permissions for level = Machine
Resolving permissions for level = User
Grant =
<PermissionSet version="1">
<IPermission
version="1"
Read="USERNAME;TEMP;TMP" />
<IPermission class ="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true" />
<IPermission
version="1"
Allowed="AssemblyIsolationByUser"
UserQuota="9223372036854775807"
Expiry = "9223372036854775807"
Permanent="True" />
<IPermission
version="1"
Flags="ReflectionEmit" />
<IPermission
version="1"
Flags="Assertion, Execution, RemotingConfiguration" />
<IPermission
version="1"
Unrestricted="true" />
<IPermission
version="1">
<ConnectAccess>
<URI uri="(https|http)://intranet/.*"/>
</ConnectAccess>
</IPermission>
<IPermission
version="1"
Unrestricted="true"/>
<IPermission
version="1"
Level="DefaultPrinting" />
<IPermission сlass="System.Diagnostics.EventLogPermission, System, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1">
<Machine name="." access="Instrument" />
</IPermission>
<IPermission
version="1"
Site="intranet" />
<IPermission
version="1"
Url="http://intranet/assembly.dll" />
<IPermission сlass="System.Security.Permissions.ZoneIdentityPermission, mscorlib, Version=1.0.xxxx.x, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Zone="Intranet" />
</PermissionSet>
Success
Этот вывод показывает каждое из полномочий в виде кода XML, включая определяющий полномочие класс, содержащую класс сборку, версию полномочия и признак шифрования. Вывод предполагает, что можно создать свои собственные полномочия, больше об этом будет сказано позже. Можно также видеть, что каждое из полномочий идентичности содержит более подробную информацию, скажем, о классе UrlIdentityPermission
, предоставляющем доступ к URL кода.
Отметим, что в начале вывода caspol.exe
разрешает полномочия на уровнях Enterprise
, Machine
и User
и затем перечисляет действующие представленные права. Теперь перейдем к этому вопросу.
- Первый просмотр: краткий обзор
- Второй просмотр: детали
- Просмотр списков на узле SharePoint
- Просмотр библиотек документов
- Просмотр каталогов
- Где просмотреть список программ, установленных на моем компьютере?
- Как просмотреть программу телепередач?
- Просмотр веб-страниц
- Я что-то слышал о порядке просмотра сетевых подключений. Где его можно настроить?
- Почему во время просмотра сайтов в Internet Explorer при прокрутке колесиком мыши страницу как бы листает волнами, а не ...
- Как просмотреть историю процесса загрузки Windows?
- C помощью какой программы можно просмотреть файл в формате VOB?