ZoneIdentityPermission Class

Definition

Defines the identity permission for the zone from which the code originates. This class cannot be inherited.

public ref class ZoneIdentityPermission sealed : System::Security::CodeAccessPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ZoneIdentityPermission : System.Security.CodeAccessPermission
type ZoneIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class ZoneIdentityPermission
Inherits CodeAccessPermission
Inheritance
ZoneIdentityPermission
Attributes

Remarks

This permission can determine whether calling code is from a certain zone. Zones are configured according to the Microsoft Internet Explorer options, and are mapped from URL by Internet Explorer's IInternetSecurityManager and related APIs. Only exact zone matches are defined for the permission; a URL can only belong to one zone.

  • Local intranet zone: The Local intranet zone is used for content located on a company's intranet. Because the servers are within a company's firewall, content on the intranet is assigned a higher level of trust.

  • Trusted sites zone: The Trusted sites zone is used for content located on Web sites that are considered more reputable or trustworthy than other sites on the Internet. Users can use this zone to assign a higher level of trust to specific Internet sites. The URLs of these trusted Web sites need to be mapped into this zone by the user. By default, sites in the Trusted sites zone receive no higher trust than those in the Internet zone. A user or company needs to change the level of trust granted to this zone if they want the sites it contains to be given a higher level of trust.

  • Internet zone: The Internet zone is used for the Web sites on the Internet that do not belong to another zone. The default settings allow code downloaded from these sites only minimal access to resources on the user's computer. Web sites that are not mapped into other zones automatically fall into this zone.

  • Restricted sites zone: The Restricted sites zone is used for Web sites that contain content that could cause, or could have previously caused, problems when downloaded. This zone could be used to prevent code downloaded from these sites from running on the user's computer. The URLs of these untrusted Web sites need to be mapped into this zone by the user.

  • Local Machine zone: The Local Machine zone is an implicit zone that is used for content that exists on the user's computer. The content found on the user's computer, except for content cached by Internet Explorer on the local system, is treated with a very high level of trust.

Important

Starting with the .NET Framework 4, identity permissions are not used.

In the .NET Framework versions 1.0 and 1.1, demands on the identity permissions are effective, even when the calling assembly is fully trusted. That is, although the calling assembly has full trust, a demand for an identity permission fails if the assembly does not meet the demanded criteria. Starting with the .NET Framework version 2.0, demands for identity permissions are ineffective if the calling assembly has full trust. This assures consistency for all permissions, eliminating the treatment of identity permissions as a special case.

Constructors

ZoneIdentityPermission(PermissionState)

Initializes a new instance of the ZoneIdentityPermission class with the specified PermissionState.

ZoneIdentityPermission(SecurityZone)

Initializes a new instance of the ZoneIdentityPermission class to represent the specified zone identity.

Properties

SecurityZone

Gets or sets the zone represented by the current ZoneIdentityPermission.

Methods

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. Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Copy()

Creates and returns an identical copy of the current permission.

Demand()

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.

(Inherited from 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.

(Inherited from CodeAccessPermission)
Equals(Object)

Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement)

Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Inherited from CodeAccessPermission)
GetType()

Gets the Type of the current instance.

(Inherited from 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.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from 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.

(Inherited from CodeAccessPermission)
ToString()

Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml()

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.

Explicit Interface Implementations

IPermission.Demand() (Inherited from CodeAccessPermission)
IStackWalk.Assert() (Inherited from CodeAccessPermission)
IStackWalk.Demand() (Inherited from CodeAccessPermission)
IStackWalk.Deny() (Inherited from CodeAccessPermission)
IStackWalk.PermitOnly() (Inherited from CodeAccessPermission)

Applies to

See also