PolicyLevel.Type プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)


セキュリティ ポリシーの最上位は、エンタープライズ レベルです。階層のレベルが下がるにつれて、ポリシーの制限は厳しくなっていきますが、上のレベルで許可されたアクセス許可よりも多いアクセス許可を下のレベルで与えることはできません。ポリシー レベルは、上から下に次の順序になっています。

ポリシー レベルの Type プロパティの値を表示する方法を次のコード例に示します。このコード例は、PolicyLevel クラスのトピックで取り上げているコード例の一部分です。

Windows 98, Windows 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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


PolicyLevelType 列挙体
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Enumeration PolicyLevelType


セキュリティ ポリシーの最上位は、エンタープライズ レベルです。階層のレベルが下がるにつれて、ポリシーの制限は厳しくなっていきますが、上のレベルで許可されたアクセス許可よりも多いアクセス許可を下のレベルで与えることはできません。ポリシー レベルは、上から下に次の順序になっています。
2. コンピュータ
3. ユーザー

この例では、PolicyLevelType 列挙体を使用して、コード アクセス セキュリティの管理設定に情報を問い合わせる方法を示しています。
using System; using System.Collections; using System.Security; using System.Security.Policy; public sealed class App { static void Main() { DisplayIntranetZonePermissionSetForPolicyLevel(PolicyLevelType.User); Console.WriteLine(); DisplayIntranetZonePermissionSetForPolicyLevel(PolicyLevelType.Machine); } static void DisplayIntranetZonePermissionSetForPolicyLevel(PolicyLevelType policyLevelType) { // Create an Evidence object that contains the intranet zone. Evidence e = new Evidence(); e.AddHost(new Zone(SecurityZone.Intranet)); // Get the policy level for the specified policy level type and then // resolve the evidence against it to get the policy statement. PolicyStatement ps = GetPolicyLevel(policyLevelType).Resolve(e); // Show the calculated policy statement. Console.WriteLine("---> Intranet zone permission set for {0} policy level:", policyLevelType.ToString()); Console.WriteLine(ps.PermissionSet); } // This helper method returns a PolicyLevel that corresponds to the specified PolicyLevelType. static PolicyLevel GetPolicyLevel(PolicyLevelType policyLevelType) { IEnumerator policyLevels = SecurityManager.PolicyHierarchy(); // Map the policy level type to the policy level collection. int levelCnt = 0; switch (policyLevelType) { case PolicyLevelType.Enterprise: levelCnt = 0; break; case PolicyLevelType.Machine: levelCnt = 1; break; case PolicyLevelType.User: levelCnt = 2; break; case PolicyLevelType.AppDomain: levelCnt = 3; break; } for (; levelCnt >= 0; levelCnt--) policyLevels.MoveNext(); return (PolicyLevel) policyLevels.Current; } } // This code produces the following output. // // ---> Intranet Zone permission set for User policy level: // <PermissionSet class="System.Security.PermissionSet" // version="1" // Unrestricted="true"/> // ---> Intranet Zone permission set for Machine policy level: // <PermissionSet class="System.Security.PermissionSet" // version="1"> // <IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Read="USERNAME"/> // <IPermission class="System.Security.Permissions.FileDialogPermission, mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Unrestricted="true"/> // <IPermission class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib,// Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Allowed="AssemblyIsolationByUser" // UserQuota="9223372036854775807" // Expiry="9223372036854775807" // Permanent="True"/> // <IPermission class="System.Security.Permissions.ReflectionPermission, mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Flags="ReflectionEmit"/> // <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Flags="Assertion, Execution, BindingRedirects"/> // <IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=2.0.3600.0, // Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Unrestricted="true"/> // <IPermission class="System.Net.DnsPermission, System, Version=2.0.3600.0, Culture=neutral, // PublicKeyToken=b77a5c561934e089" // version="1" // Unrestricted="true"/> // <IPermission class="System.Windows.Forms.WebBrowserPermission, System, Version=2.0.3600.0, // Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Level="Restricted"/> // <IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawing, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" // version="1" // Level="DefaultPrinting"/> // <IPermission class="System.Diagnostics.EventLogPermission, System, Version=2.0.3600.0, // Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1"> // <Machine name="." // access="Instrument"/> // </IPermission> // </PermissionSet>
using namespace System; using namespace System::Collections; using namespace System::Security; using namespace System::Security::Policy; // This helper method returns a PolicyLevel that corresponds to // the specified PolicyLevelType. PolicyLevel^ GetPolicyLevel(PolicyLevelType policyLevelType) { IEnumerator^ policyLevels = SecurityManager::PolicyHierarchy(); // Map the policy level type to the policy level collection. int levelCount = 0; switch (policyLevelType) { case PolicyLevelType::Enterprise: levelCount = 0; break; case PolicyLevelType::Machine: levelCount = 1; break; case PolicyLevelType::User: levelCount = 2; break; case PolicyLevelType::AppDomain: levelCount = 3; break; } for (; levelCount >= 0; levelCount--) { policyLevels->MoveNext(); } return (PolicyLevel^) policyLevels->Current; } void DisplayIntranetZonePermissionSetForPolicyLevel( PolicyLevelType policyLevelType) { // Create an Evidence object that contains the intranet zone. Evidence^ intranetEvidence = gcnew Evidence(); intranetEvidence->AddHost(gcnew Zone(SecurityZone::Intranet)); // Get the policy level for the specified policy level type and then // resolve the evidence against it to get the policy statement. PolicyStatement^ resolvedPolicy = GetPolicyLevel(policyLevelType)-> Resolve(intranetEvidence); // Show the calculated policy statement. Console::WriteLine( "---> Intranet zone permission set for {0} policy level:", policyLevelType); Console::WriteLine(resolvedPolicy->PermissionSet); } int main() { DisplayIntranetZonePermissionSetForPolicyLevel(PolicyLevelType::User); Console::WriteLine(); DisplayIntranetZonePermissionSetForPolicyLevel(PolicyLevelType::Machine); } // This code produces the following output. // // ---> Intranet Zone permission set for User policy level: // <PermissionSet class="System.Security.PermissionSet" // version="1" // Unrestricted="true"/> // ---> Intranet Zone permission set for Machine policy level: // <PermissionSet class="System.Security.PermissionSet" // version="1"> // <IPermission class="System.Security.Permissions.EnvironmentPermission , // mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Read="USERNAME"/> // <IPermission class="System.Security.Permissions.FileDialogPermission , // mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Unrestricted="true"/> // <IPermission class= // "System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Allowed="AssemblyIsolationByUser" // UserQuota="9223372036854775807" // Expiry="9223372036854775807" // Permanent="True"/> // <IPermission class="System.Security.Permissions.ReflectionPermission , // mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Flags="ReflectionEmit"/> // <IPermission class="System.Security.Permissions.SecurityPermission , // mscorlib, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Flags="Assertion, Execution, BindingRedirects"/> // <IPermission class="System.Security.Permissions.UIPermission, mscorlib, // Version=2.0.3600.0, // Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Unrestricted="true"/> // <IPermission class="System.Net.DnsPermission, System, Version=2.0.3600.0 , // Culture=neutral, // PublicKeyToken=b77a5c561934e089" // version="1" // Unrestricted="true"/> // <IPermission class="System.Windows.Forms.WebBrowserPermission, System, // Version=2.0.3600.0, // Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1" // Level="Restricted"/> // <IPermission class="System.Drawing.Printing.PrintingPermission , // System.Drawing, // Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" // version="1" // Level="DefaultPrinting"/> // <IPermission class="System.Diagnostics.EventLogPermission, System, // Version=2.0.3600.0, // Culture=neutral, PublicKeyToken=b77a5c561934e089" // version="1"> // <Machine name="." // access="Instrument"/> // </IPermission> // </PermissionSet>

Windows 98, Windows 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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からPolicyLevel.Typeを検索する場合は、下記のリンクをクリックしてください。

- PolicyLevel.Typeのページへのリンク