Книга: C# для профессионалов. Том II
Неявное полномочие
Неявное полномочие
Часто, когда предоставлена некоторые полномочия, возникает неявное утверждение, что также даны и другие полномочия. Например, если присвоено полномочие FileIOPermission
для C:
, то неявно предполагается, что также имеется доступ к его подкаталогам (допущение системы безопасности учетных записей Windows).
Если необходимо проверить, что данное полномочие неявно вносит другое полномочие в качестве подмножества, то можно сделать следующее.
// Пример из SecurityApp5
class Class1 {
static void Main(string[ ] args) {
CodeAccessPermission permissionA =
new FileIOPermission(FileIOPermissionAccess.AllAccess, @"C:");
CodeAccessPermission permissionB =
new FileIOPermission(FileIOPermissionAccess.Read, @"C:temp");
if (permissions.IsSubsetOf(permissionA) {
Console.WriteLine("PermissionB is a subset of PermissionA");
} else {
Console.WriteLine("PermissionB is NOT a subset of PermissionA");
}
}
}
Вывод будет выглядеть следующим образом:
PermissionB is a subset of PermissionA
- Неявное связывание
- Листинг 5.2. Неявное изменение состояний приложения (неудачный подход)
- Подход 1: зависящее от специфики конкретной ситуации, децентрализованное, неявное управление состояниями (неудачный подх...
- Листинг 5.2. Неявное изменение состояния приложения (неудачный подход)
- Неявное преобразование типов
- Явное и неявное объявление переменных
- Неявное преобразование типов в литералах даты и времени