System.Security.Policy Namespace

The System.Security.Policy namespace contains code groups, membership conditions, and evidence. These three types of classes are used to create the rules applied by the common language runtime security policy system. Evidence classes are the input to security policy and membership conditions are the switches; together these create policy statements and determine the granted permission set. Policy levels and code groups are the structure of the policy hierarchy. Code groups are the encapsulation of a rule and are arranged hierarchically in a policy level.

Classes

TypeReason
AllMembershipCondition

Represents a membership condition that matches all code. This class cannot be inherited.

ApplicationDirectory

Provides the application directory as evidence for policy evaluation. This class cannot be inherited.

ApplicationDirectoryMembershipCondition

Determines whether an assembly belongs to a code group by testing its application directory. This class cannot be inherited.

ApplicationSecurityInfo

Holds the security evidence for an application. This class cannot be inherited.

ApplicationSecurityManager

Manages trust decisions for manifest-activated applications.

ApplicationTrust

Encapsulates security decisions about an application. This class cannot be inherited.

ApplicationTrustCollection

Represents a collection of ApplicationTrust objects. This class cannot be inherited.

ApplicationTrustEnumerator

Represents the enumerator for ApplicationTrust objects in the ApplicationTrustCollection collection.

ApplicationVersionMatch

Specifies how to match versions when locating application trusts in a collection.

CodeConnectAccess

Specifies the network resource access that is granted to code.

CodeGroup

Represents the abstract base class from which all implementations of code groups must derive.

Evidence

Defines the set of information that constitutes input to security policy decisions. This class cannot be inherited.

EvidenceBase

Provides a base class from which all objects to be used as evidence must derive.

FileCodeGroup

Grants permission to manipulate files located in the code assemblies to code assemblies that match the membership condition. This class cannot be inherited.

FirstMatchCodeGroup

Allows security policy to be defined by the union of the policy statement of a code group and that of the first child code group that matches. This class cannot be inherited.

GacInstalled

Confirms that a code assembly originates in the global assembly cache (GAC) as evidence for policy evaluation. This class cannot be inherited.

GacMembershipCondition

Determines whether an assembly belongs to a code group by testing its global assembly cache membership. This class cannot be inherited.

Hash

Provides evidence about the hash value for an assembly. This class cannot be inherited.

HashMembershipCondition

Determines whether an assembly belongs to a code group by testing its hash value. This class cannot be inherited.

IApplicationTrustManager

Determines whether an application should be executed and which set of permissions should be granted to it.

IIdentityPermissionFactory

Defines the method that creates a new identity permission.

IMembershipCondition

Defines the test to determine whether a code assembly is a member of a code group.

NetCodeGroup

Grants Web permission to the site from which the assembly was downloaded. This class cannot be inherited.

PermissionRequestEvidence

Defines evidence that represents permission requests. This class cannot be inherited.

PolicyException

The exception that is thrown when policy forbids code to run.

PolicyLevel

Represents the security policy levels for the common language runtime. This class cannot be inherited.

PolicyStatement

Represents the statement of a CodeGroup describing the permissions and other information that apply to code with a particular set of evidence. This class cannot be inherited.

PolicyStatementAttribute

Defines special attribute flags for security policy on code groups.

Publisher

Provides the Authenticode X.509v3 digital signature of a code assembly as evidence for policy evaluation. This class cannot be inherited.

PublisherMembershipCondition

Determines whether an assembly belongs to a code group by testing its software publisher's Authenticode X.509v3 certificate. This class cannot be inherited.

Site

Provides the Web site from which a code assembly originates as evidence for policy evaluation. This class cannot be inherited.

SiteMembershipCondition

Determines whether an assembly belongs to a code group by testing the site from which it originated. This class cannot be inherited.

StrongName

Provides the strong name of a code assembly as evidence for policy evaluation. This class cannot be inherited.

StrongNameMembershipCondition

Determines whether an assembly belongs to a code group by testing its strong name. This class cannot be inherited.

TrustManagerContext

Represents the context for the trust manager to consider when making the decision to run an application, and when setting up the security on a new AppDomain in which to run an application.

TrustManagerUIContext

Specifies the type of user interface (UI) the trust manager should use for trust decisions.

UnionCodeGroup

Represents a code group whose policy statement is the union of the current code group's policy statement and the policy statement of all its matching child code groups. This class cannot be inherited.

Url

Provides the URL from which a code assembly originates as evidence for policy evaluation. This class cannot be inherited.

UrlMembershipCondition

Determines whether an assembly belongs to a code group by testing its URL. This class cannot be inherited.

Zone

Provides the security zone of a code assembly as evidence for policy evaluation. This class cannot be inherited.

ZoneMembershipCondition

Determines whether an assembly belongs to a code group by testing its zone of origin. This class cannot be inherited.