PolicyLevel.Resolve(Evidence) Метод

Определение

Обрабатывает политику, используя свидетельство для уровня политики, и возвращает результирующий объект PolicyStatement.

public System.Security.Policy.PolicyStatement Resolve (System.Security.Policy.Evidence evidence);

Параметры

evidence
Evidence

Объект Evidence используется для обработки PolicyLevel.

Возвращаемое значение

Результирующий объект PolicyStatement.

Исключения

Уровень политики содержит несколько соответствующих групп кода, которые помечены как взаимоисключающие.

Параметр evidence имеет значение null.

Примеры

В следующем коде показано использование Resolve метода . Этот пример входит в состав более крупного примера использования класса PolicyLevel.

// Demonstrate the use of ResolvePolicy for the supplied evidence and a specified policy level.
private static void CheckEvidence(PolicyLevel pLevel, Evidence evidence)
{
    // Display the code groups to which the evidence belongs.
    Console.WriteLine("\tResolvePolicy for the given evidence: ");
    IEnumerator codeGroup = evidence.GetEnumerator();
    while (codeGroup.MoveNext())
    {
        Console.WriteLine("\t\t" + ((CodeGroup)codeGroup.Current).Name);
    }
    Console.WriteLine("The current evidence belongs to the following root CodeGroup:");
    // pLevel is the current PolicyLevel, evidence is the Evidence to be resolved.
    CodeGroup cg1 = pLevel.ResolveMatchingCodeGroups(evidence);
    Console.WriteLine(pLevel.Label + " Level");
    Console.WriteLine("\tRoot CodeGroup = " + cg1.Name);

    // Show how Resolve is used to determine the set of permissions that 
    // the security system grants to code, based on the evidence.

    // Show the granted permissions. 
    Console.WriteLine("\nCurrent permissions granted:");
    PolicyStatement pState = pLevel.Resolve(evidence);
    Console.WriteLine(pState.ToXml().ToString());

    return;
}

Комментарии

Resolve — это базовая операция оценки политики для уровней политики. Учитывая набор доказательств в качестве входных данных, этот метод проверяет условия членства в группах кода, начиная с корневого каталога и работая в исходном состоянии. Сочетание разрешений, полученных от соответствующих групп кода, создает возвращаемый PolicyStatement объект .

При предоставлении разрешений для кода политика безопасности использует разрешенные инструкции политики для всех применимых уровней политики вместе с запросом кода разрешений.

Применяется к

Өнім Нұсқалар
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9