Provides a way to customize ASP.NET behavior at run time that overrides the ASP.NET code access security policy.
Assembly: System.Web (in System.Web.dll)
Thetype exposes the following members.
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ResolvePolicy||Gets a value that indicates the security policy that should be applied to an assembly.|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
In complex Web hosting environments such as SharePoint and Web farms, you might have to extend the ASP.NET code access security policy. By extending the type, you can implement custom security policy behavior that overrides the ASP.NET code access security policy.
Configuring a HostSecurityPolicyResolver Class
In the configuration files, you can configure a custom instance by adding the HostSecurityPolicyResolverType attribute to the trust element. The HostSecurityPolicyResolverType attribute can be set to the name of the custom type that will be loaded by ASP.NET. The attribute value contains the fully qualified name of the derived type. By default, .NET Framework 4 does not set this attribute.
The following syntax shows how to configure the attribute:
<trust Level = "[Full|High|Medium|Low|Minimal]" permissionSetName = "name of the permission set" hostSecurityPolicyResolverType = "security policy resolution type" />
The PermissionSetName attribute in the trust element can be set to a string value that indicates which named permission set in a partial trust configuration file should be used. By default, ASP.NET 4 sets this attribute to "ASP.Net".
The HostSecurityPolicyResolverType attribute in the trust element indicates the custom object that will be loaded by ASP.NET. If the attribute is set to an empty string, the application uses the ASP.NET default logic for determining the permissions for the assembly. The type attribute cannot be set to a null value.
The assembly that contains a derived type must run with full trust, because the custom type provides information that ASP.NET can use to elevate assemblies to full trust. In general, you should deploy a custom policy resolver type in the global assembly cache, where it will run with full trust.
When you implement this class, you must override the ResolvePolicy method. Depending on the Evidence instance that is passed as a parameter, the method returns an enumeration value that indicates the security policy to apply to the assembly. The set of available security policies is determined by the HostSecurityPolicyResults enumeration.
for full trust for the inheriting type. This class cannot be inherited by partially trusted code.