ZoneIdentityPermission Class
Assembly: mscorlib (in mscorlib.dll)
'Declaration <SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class ZoneIdentityPermission Inherits CodeAccessPermission 'Usage Dim instance As ZoneIdentityPermission
/** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ public final class ZoneIdentityPermission extends CodeAccessPermission
SerializableAttribute ComVisibleAttribute(true) public final class ZoneIdentityPermission extends CodeAccessPermission
Not applicable.
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: |
|---|
| 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. In 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. |
The following code example shows the behavior of the ZoneIdentityPermission class methods.
Note: |
|---|
| The code example is intended to show the behavior of the methods, not to demonstrate their use. In general, the methods of permission classes are used by the security infrastructure; they are not typically used in applications. Generally, only the constructors are used in application code. The created instance validates or controls resource access by using inherited CodeAccessPermission methods such as Demand. |
Imports System Imports System.Security Imports System.Security.Permissions Public Class ZoneIdentityPermissionDemo Public Shared Sub Main(ByVal args() As String) IsSubsetOfDemo() CopyDemo() UnionDemo() IntersectDemo() ToFromXmlDemo() End Sub 'Main ' IsSubsetOf determines whether the current permission is a subset of the specified permission. Private Shared Sub IsSubsetOfDemo() Dim zoneIdPerm1 As New ZoneIdentityPermission(SecurityZone.Intranet) Dim zoneIdPerm2 As New ZoneIdentityPermission(SecurityZone.MyComputer) If zoneIdPerm1.IsSubsetOf(zoneIdPerm2) Then Console.WriteLine(zoneIdPerm1.SecurityZone.ToString() + " is a subset of " + zoneIdPerm2.SecurityZone.ToString()) Else Console.WriteLine(zoneIdPerm1.SecurityZone.ToString() + " is not a subset of " + zoneIdPerm2.SecurityZone.ToString()) End If If zoneIdPerm2.IsSubsetOf(zoneIdPerm1) Then Console.WriteLine(zoneIdPerm2.SecurityZone.ToString() + " is a subset of " + zoneIdPerm1.SecurityZone.ToString()) Else Console.WriteLine(zoneIdPerm2.SecurityZone.ToString() + " is not a subset of " + zoneIdPerm1.SecurityZone.ToString()) End If End Sub 'IsSubsetOfDemo ' Union creates a new permission that is the union of the current permission ' and the specified permission. Private Shared Sub UnionDemo() Dim zoneIdPerm1 As New ZoneIdentityPermission(SecurityZone.Intranet) Dim zoneIdPerm2 As New ZoneIdentityPermission(SecurityZone.MyComputer) Dim p3 As ZoneIdentityPermission = CType(zoneIdPerm1.Union(zoneIdPerm2), ZoneIdentityPermission) Try If Not (p3 Is Nothing) Then Console.WriteLine("The union of " + zoneIdPerm1.SecurityZone.ToString() + " and " + vbLf + vbTab + zoneIdPerm2.SecurityZone.ToString() + " is " + vbLf + vbTab + p3.SecurityZone.ToString() + vbLf) Else Console.WriteLine("The union of " + zoneIdPerm1.SecurityZone.ToString() + " and " + vbLf + vbTab + zoneIdPerm2.SecurityZone.ToString() + " is null." + vbLf) End If Catch e As SystemException Console.WriteLine("The union of " + zoneIdPerm1.SecurityZone.ToString() + " and " + vbLf + vbTab + zoneIdPerm2.SecurityZone.ToString() + " failed.") Console.WriteLine(e.Message) End Try End Sub 'UnionDemo ' Intersect creates and returns a new permission that is the intersection of the ' current permission and the permission specified. Private Shared Sub IntersectDemo() Dim zoneIdPerm1 As New ZoneIdentityPermission(SecurityZone.Intranet) Dim zoneIdPerm2 As New ZoneIdentityPermission(SecurityZone.MyComputer) Dim p3 As ZoneIdentityPermission = CType(zoneIdPerm1.Intersect(zoneIdPerm2), ZoneIdentityPermission) If Not (p3 Is Nothing) Then Console.WriteLine("The intersection of " + zoneIdPerm1.SecurityZone.ToString() + " and " + vbLf + vbTab + zoneIdPerm2.SecurityZone.ToString() + " is " + p3.SecurityZone.ToString() + vbLf) Else Console.WriteLine("The intersection of " + zoneIdPerm1.SecurityZone.ToString() + " and " + vbLf + vbTab + zoneIdPerm2.SecurityZone.ToString() + " is null." + vbLf) End If End Sub 'IntersectDemo 'Copy creates and returns an identical copy of the current permission. Private Shared Sub CopyDemo() Dim zoneIdPerm1 As New ZoneIdentityPermission(SecurityZone.Intranet) Dim zoneIdPerm2 As New ZoneIdentityPermission(PermissionState.None) zoneIdPerm2 = CType(zoneIdPerm1.Copy(), ZoneIdentityPermission) If Not (zoneIdPerm2 Is Nothing) Then Console.WriteLine("The copy succeeded: " + zoneIdPerm2.ToString() + " " + vbLf) End If End Sub 'CopyDemo ' ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a ' permission with the specified state from the XML encoding. Private Shared Sub ToFromXmlDemo() Dim zoneIdPerm1 As New ZoneIdentityPermission(SecurityZone.Intranet) Dim zoneIdPerm2 As New ZoneIdentityPermission(PermissionState.None) zoneIdPerm2.FromXml(zoneIdPerm1.ToXml()) Dim result As Boolean = zoneIdPerm2.Equals(zoneIdPerm1) If result Then Console.WriteLine("Result of ToFromXml = " + zoneIdPerm2.ToString()) Else Console.WriteLine(zoneIdPerm2.ToString()) Console.WriteLine(zoneIdPerm1.ToString()) End If End Sub 'ToFromXmlDemo End Class 'ZoneIdentityPermissionDemo
System.Security.CodeAccessPermission
System.Security.Permissions.ZoneIdentityPermission
Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Important: