SecurityManager.CurrentThreadRequiresSecurityContextCapture Метод

Определение

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

public:
 static bool CurrentThreadRequiresSecurityContextCapture();
[System.Security.SecurityCritical]
public static bool CurrentThreadRequiresSecurityContextCapture();
[<System.Security.SecurityCritical>]
static member CurrentThreadRequiresSecurityContextCapture : unit -> bool
Public Shared Function CurrentThreadRequiresSecurityContextCapture () As Boolean

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

false Значение , если стек не содержит частично доверенных доменов приложений, не является частично доверенными сборками, а в настоящее время неактивными PermitOnly() или Deny() модификаторами; true если среда CLR не может гарантировать, что стек не содержит ни одного из них.

Атрибуты

Комментарии

Этот метод можно использовать CurrentThreadRequiresSecurityContextCapture перед кэшированием конфиденциальных данных, полученных после успешного выполнения требований безопасности.

Assert Если метод был вызван выше в стеке, данные не должны кэшироваться без записи соответствующего контекста безопасности. В противном случае конфиденциальные данные, полученные в Assert рамках кода, могут стать доступными для кода, который больше не работает с этим Assert .

Important

Возвращаемое значение надежно только в том случае, если это falseозначает, что поток гарантированно не требует записи контекста безопасности. Метод может возвращать значение true, если не требуется запись контекста безопасности, чтобы избежать уязвимостей безопасности.

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

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