RegistryPermission Класс

Определение

Внимание!

Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}

Управляет возможностью доступа к переменным реестра.Controls the ability to access registry variables. Этот класс не наследуется.This class cannot be inherited.

public ref class RegistryPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
public sealed class RegistryPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class RegistryPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class RegistryPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class RegistryPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type RegistryPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type RegistryPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type RegistryPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type RegistryPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class RegistryPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Наследование
RegistryPermission
Атрибуты
Реализации

Комментарии

RegistryPermission описывает защищенные операции с переменными реестра.RegistryPermission describes protected operations on registry variables. Переменные реестра не следует хранить в областях памяти, к которым имеет доступ код без разрешений RegistryPermission.Registry variables should not be stored in memory locations where code without RegistryPermission can access them. Если объект реестра передается недоверенному вызывающему объекту, он может быть неиспользованным.If the registry object is passed to an untrusted caller it can be misused.

Допустимые типы доступа к реестру определяются RegistryPermissionAccess .The allowed registry access types are defined by RegistryPermissionAccess. Если требуется более одного типа доступа, их можно объединить с помощью побитовой операции OR, как показано в следующем примере кода.If more than one type of access is desired, they can be combined using the bitwise OR operation as shown in the code sample that follows.

Разрешение Registry определяется в виде канонических абсолютных путей; проверки должны выполняться всегда с каноническими путем.Registry permission is defined in terms of canonical absolute paths; checks should always be made with canonical pathnames. Доступ к ключам подразумевает доступ ко всем содержащимся в нем значениям и всем переменным в нем.Key access implies access to all values it contains and all variables under it.

Примечание

В версиях .NET Framework до .NET Framework 4.NET Framework 4 можно использовать CodeAccessPermission.Deny метод, чтобы предотвратить случайный доступ к системным ресурсам с помощью доверенного кода.In versions of the .NET Framework before the .NET Framework 4.NET Framework 4, you could use the CodeAccessPermission.Deny method to prevent inadvertent access to system resources by trusted code. Deny теперь устарел, а доступ к ресурсам определяется исключительно предоставленным набором разрешений для сборки.Deny is now obsolete, and access to resources is now determined solely by the granted permission set for an assembly. Чтобы ограничить доступ к файлам, необходимо запустить частично доверенный код в песочнице и назначить ему разрешения только тем ресурсам, к которым разрешен доступ коду.To limit access to files, you must run partially trusted code in a sandbox and assign it permissions only to resources that the code is allowed to access. Сведения о запуске приложения в песочнице см. в разделе как запустить частично доверенный код в песочнице.For information about running an application in a sandbox, see How to: Run Partially Trusted Code in a Sandbox.

Конструкторы

RegistryPermission(PermissionState)

Инициализирует новый экземпляр класса RegistryPermission указанным состоянием разрешения: полностью ограниченное или неограниченное.Initializes a new instance of the RegistryPermission class with either fully restricted or unrestricted permission as specified.

RegistryPermission(RegistryPermissionAccess, AccessControlActions, String)

Инициализирует новый экземпляр класса RegistryPermission с указанным доступом к указанным переменным реестра и указанными правами доступа к сведениям об элементе управления реестра.Initializes a new instance of the RegistryPermission class with the specified access to the specified registry variables and the specified access rights to registry control information.

RegistryPermission(RegistryPermissionAccess, String)

Инициализирует новый экземпляр класса RegistryPermission с заданным доступом к указанным переменным реестра.Initializes a new instance of the RegistryPermission class with the specified access to the specified registry variables.

Методы

AddPathList(RegistryPermissionAccess, AccessControlActions, String)

Добавляет доступ для указанных переменных реестра в существующее состояние разрешения, задавая уровень доступа разрешения реестра и действия по управлению доступом.Adds access for the specified registry variables to the existing state of the permission, specifying registry permission access and access control actions.

AddPathList(RegistryPermissionAccess, String)

Добавляет доступ для заданных переменных реестра к существующему состоянию разрешения.Adds access for the specified registry variables to the existing state of the permission.

Assert()

Объявляет, что вызывающий код может получить доступ к ресурсу, защищенному требованием разрешения, через код, вызывающий этот метод, даже если вызывающим объектам выше в стеке вызовов не предоставлено разрешение на доступ к ресурсу.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Assert() может вызвать проблемы системы безопасности.Using Assert() can create security issues.

(Унаследовано от CodeAccessPermission)
Copy()

Создает и возвращает идентичную копию текущего разрешения.Creates and returns an identical copy of the current permission.

Demand()

Принудительно создает SecurityException во время выполнения, если все вызывающие методы, расположенные выше в стеке вызовов, не получили разрешения, указанного текущим экземпляром.Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Унаследовано от CodeAccessPermission)
Deny()
Является устаревшей.
Является устаревшей.

Запрещает вызывающим объектам выше в стеке вызовов использовать код, который вызывает этот метод для доступа к ресурсу, указанному текущим экземпляром.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Унаследовано от CodeAccessPermission)
Equals(Object)

Определяет, равен ли заданный объект CodeAccessPermission текущему объекту CodeAccessPermission.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Унаследовано от CodeAccessPermission)
FromXml(SecurityElement)

Восстанавливает разрешение с указанным состоянием из кодировки XML.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Возвращает хэш-код для объекта CodeAccessPermission, который можно использовать в алгоритмах хэширования и структурах данных, например в хэш-таблице.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Унаследовано от CodeAccessPermission)
GetPathList(RegistryPermissionAccess)

Получает пути для всех переменных реестра с заданным RegistryPermissionAccess.Gets paths for all registry variables with the specified RegistryPermissionAccess.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
Intersect(IPermission)

Создает и возвращает разрешение, представляющее собой пересечение текущего и указанного разрешений.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

Определяет, является ли текущее разрешение подмножеством указанного разрешения.Determines whether the current permission is a subset of the specified permission.

IsUnrestricted()

Возвращает значение, указывающее, является ли текущее разрешение неограниченным.Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
PermitOnly()

Запрещает вызывающим объектам выше в стеке вызовов использовать код, который вызывает этот метод для доступа ко всем ресурсам, за исключением ресурса, указанного текущим экземпляром.Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Унаследовано от CodeAccessPermission)
SetPathList(RegistryPermissionAccess, String)

Задает новый доступ для указанных имен переменных реестра в существующее состояние разрешения.Sets new access for the specified registry variable names to the existing state of the permission.

ToString()

Создает и возвращает строковое представление текущего объекта разрешения.Creates and returns a string representation of the current permission object.

(Унаследовано от CodeAccessPermission)
ToXml()

Создает кодировку XML для разрешения и его текущего состояния.Creates an XML encoding of the permission and its current state.

Union(IPermission)

Создает разрешение, представляющее собой объединение текущего и указанного разрешений.Creates a permission that is the union of the current permission and the specified permission.

Явные реализации интерфейса

IPermission.Demand()

Создает исключение SecurityException во время выполнения, если требования безопасности не выполнены.Throws a SecurityException at run time if the security requirement is not met.

(Унаследовано от CodeAccessPermission)
IStackWalk.Assert()

Подтверждает, что вызывающий код может получить доступ к ресурсу, определяемому текущим объектом разрешения, даже если вызывающим объектам выше в стеке вызовов не предоставлено разрешение на доступ к ресурсу.Asserts that the calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource.

(Унаследовано от CodeAccessPermission)
IStackWalk.Demand()

Определяет во время выполнения, было ли разрешение, указанное текущим объектом разрешений, предоставлено всем вызывающим методам в стеке вызовов.Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

(Унаследовано от CodeAccessPermission)
IStackWalk.Deny()

Вызывает ошибку каждого Demand() для текущего объекта, проходящего через вызывающий код.Causes every Demand() for the current object that passes through the calling code to fail.

(Унаследовано от CodeAccessPermission)
IStackWalk.PermitOnly()

Вызывает сбой всех Demand() для всех объектов, кроме текущего, проходящих через вызывающий код, даже если коду выше в стеке вызовов было предоставлено разрешение на доступ к другим ресурсам.Causes every Demand() for all objects except the current one that pass through the calling code to fail, even if code higher in the call stack has been granted permission to access other resources.

(Унаследовано от CodeAccessPermission)

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

См. также раздел