PermissionSetとは? わかりやすく解説

PermissionSet クラス

複数異な種類アクセス許可格納できるコレクション表します

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class PermissionSet
    Implements ISecurityEncodable, ICollection, IEnumerable, IStackWalk,
 _
    IDeserializationCallback
Dim instance As PermissionSet
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class PermissionSet : ISecurityEncodable,
 ICollection, IEnumerable, 
    IStackWalk, IDeserializationCallback
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class PermissionSet : ISecurityEncodable,
 ICollection, IEnumerable, 
    IStackWalk, IDeserializationCallback
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class PermissionSet implements ISecurityEncodable,
 ICollection, 
    IEnumerable, IStackWalk, IDeserializationCallback
SerializableAttribute 
ComVisibleAttribute(true) 
public class PermissionSet implements ISecurityEncodable,
 ICollection, 
    IEnumerable, IStackWalk, IDeserializationCallback
解説解説
使用例使用例

PermissionSet クラスメンバ使用するコード例次に示します

' This sample demonstrates the use of the PermissionSet class.
Imports System
Imports System.Reflection
Imports System.Security.Permissions
Imports System.Security
Imports System.IO
Imports System.Collections
Imports Microsoft.VisualBasic



Class [MyClass]

    Public Shared Sub PermissionSetDemo()
        Console.WriteLine("Executing PermissionSetDemo")
        Try
            ' Open a new PermissionSet.
            Dim ps1 As New
 PermissionSet(PermissionState.None)
            Console.WriteLine("Adding permission to open a file
 from a file dialog box.")
            ' Add a permission to the permission set.
            ps1.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Open))
            Console.WriteLine("Demanding permission to open a
 file.")
            ps1.Demand()
            Console.WriteLine("Demand succeeded.")
            Console.WriteLine("Adding permission to save a file
 from a file dialog box.")
            ps1.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Save))
            Console.WriteLine("Demanding permission to open and
 save a file.")
            ps1.Demand()
            Console.WriteLine("Demand succeeded.")
            Console.WriteLine("Adding permission to read environment
 variable USERNAME.")
            ps1.AddPermission(New EnvironmentPermission(EnvironmentPermissionAccess.Read,
 "USERNAME"))
            ps1.Demand()
            Console.WriteLine("Demand succeeded.")
            Console.WriteLine("Adding permission to read environment
 variable COMPUTERNAME.")
            ps1.AddPermission(New EnvironmentPermission(EnvironmentPermissionAccess.Write,
 "COMPUTERNAME"))
            ' Demand all the permissions in the set.
            Console.WriteLine("Demand all permissions.")
            ps1.Demand()
            Console.WriteLine("Demand succeeded.")
            ' Display the number of permissions in the set.
            Console.WriteLine("Number of permissions = "
 & ps1.Count)
            ' Display the value of the IsSynchronized property.
            Console.WriteLine("IsSynchronized property = "
 & ps1.IsSynchronized)
            ' Display the value of the IsReadOnly property.
            Console.WriteLine("IsReadOnly property = "
 & ps1.IsReadOnly)
            ' Display the value of the SyncRoot property.
            Console.WriteLine("SyncRoot property = "
 & CType(ps1.SyncRoot, PermissionSet).ToString())
            ' Display the result of a call to the ContainsNonCodeAccessPermissions
 method.
            ' Gets a value indicating whether the PermissionSet contains
 permissions 
            ' that are not derived from CodeAccessPermission.
            ' Returns true if the PermissionSet contains permissions
 that are not 
            ' derived from CodeAccessPermission; otherwise, false.
            Console.WriteLine("ContainsNonCodeAccessPermissions
 method returned " & ps1.ContainsNonCodeAccessPermissions())
            Console.WriteLine("Value of the permission set ToString
 = " & ControlChars.Lf & ps1.ToString())
            Dim ps2 As New
 PermissionSet(PermissionState.None)
            ' Create a second permission set and compare it to the first
 permission set.
            ps2.AddPermission(New EnvironmentPermission(EnvironmentPermissionAccess.Read,
 "USERNAME"))
            ps2.AddPermission(New EnvironmentPermission(EnvironmentPermissionAccess.Write,
 "COMPUTERNAME"))
            Console.WriteLine("Permissions in first permission
 set:")
            Dim list As IEnumerator = ps1.GetEnumerator()
            While list.MoveNext()
                Console.WriteLine(list.Current.ToString())
            End While
            Console.WriteLine("Second permission IsSubsetOf first
 permission = " & ps2.IsSubsetOf(ps1))
            ' Display the intersection of two permission sets.
            Dim ps3 As PermissionSet = ps2.Intersect(ps1)
            Console.WriteLine("The intersection of the first permission
 set and " & "the second permission set = "
 & ps3.ToString())
            ' Create a new permission set.
            Dim ps4 As New
 PermissionSet(PermissionState.None)
            ps4.AddPermission(New FileIOPermission(FileIOPermissionAccess.Read,
 "C:\Temp\Testfile.txt"))
            ps4.AddPermission(New FileIOPermission(FileIOPermissionAccess.Read
 Or FileIOPermissionAccess.Write Or FileIOPermissionAccess.Append,
 "C:\Temp\Testfile.txt"))
            ' Display the union of two permission sets.
            Dim ps5 As PermissionSet = ps3.Union(ps4)
            Console.WriteLine("The union of permission set 3 and
 permission set 4 = " & ps5.ToString())
            ' Remove FileIOPermission from the permission set.
            ps5.RemovePermission(GetType(FileIOPermission))
            Console.WriteLine("The last permission set after removing
 FileIOPermission = " & ps5.ToString())
            ' Change the permission set using SetPermission.
            ps5.SetPermission(New EnvironmentPermission(EnvironmentPermissionAccess.AllAccess,
 "USERNAME"))
            Console.WriteLine("Permission set after SetPermission
 = " & ps5.ToString())
            ' Display result of ToXml and FromXml operations.
            Dim ps6 As New
 PermissionSet(PermissionState.None)
            ps6.FromXml(ps5.ToXml())
            Console.WriteLine("Result of ToFromXml = "
 & ps6.ToString() & ControlChars.Lf)
            ' Display results of PermissionSet.GetEnumerator.
            Dim psEnumerator As IEnumerator
 = ps1.GetEnumerator()
            While psEnumerator.MoveNext()
                Console.WriteLine(psEnumerator.Current)
            End While
            ' Check for an unrestricted permission set.
            Dim ps7 As New
 PermissionSet(PermissionState.Unrestricted)
            Console.WriteLine("Permission set is unrestricted
 = " & ps7.IsUnrestricted())
            ' Create and display a copy of a permission set.
            ps7 = ps5.Copy()
            Console.WriteLine("Result of copy = "
 & ps7.ToString())
        Catch e As Exception
            Console.WriteLine(e.Message.ToString())
        End Try
    End Sub 'PermissionSetDemo

    Overloads Shared Sub
 Main(ByVal args() As String)
        PermissionSetDemo()
    End Sub 'Main
End Class '[MyClass] 
// This sample demonstrates the use of the PermissionSet class.

using System;
using System.Reflection;
using System.Security.Permissions;
using System.Security;
using System.IO;
using System.Collections;

class MyClass
{
    public static void PermissionSetDemo()
    {
        Console.WriteLine("Executing PermissionSetDemo");
        try
        {
            // Open a new PermissionSet.
            PermissionSet ps1 = new PermissionSet(PermissionState.None);
            Console.WriteLine("Adding permission to open a file from a file
 dialog box.");
            // Add a permission to the permission set.
            ps1.AddPermission(
                new FileDialogPermission(FileDialogPermissionAccess.Open));
            Console.WriteLine("Demanding permission to open a file.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to save a file from a file
 dialog box.");
            ps1.AddPermission(
                new FileDialogPermission(FileDialogPermissionAccess.Save));
            Console.WriteLine("Demanding permission to open and save a file.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to read environment variable
 USERNAME.");
            ps1.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Read,
 "USERNAME"));
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to read environment variable
 COMPUTERNAME.");
            ps1.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Write
,
                "COMPUTERNAME"));
            // Demand all the permissions in the set.
            Console.WriteLine("Demand all permissions.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            // Display the number of permissions in the set.
            Console.WriteLine("Number of permissions = " + ps1.Count);
            // Display the value of the IsSynchronized property.
            Console.WriteLine("IsSynchronized property = " + ps1.IsSynchronized);
            // Display the value of the IsReadOnly property.
            Console.WriteLine("IsReadOnly property = " + ps1.IsReadOnly);
            // Display the value of the SyncRoot property.
            Console.WriteLine("SyncRoot property = " + ps1.SyncRoot);
            // Display the result of a call to the ContainsNonCodeAccessPermissions
 method.
            // Gets a value indicating whether the PermissionSet contains
 permissions
            // that are not derived from CodeAccessPermission.
            // Returns true if the PermissionSet contains permissions
 that are not
            // derived from CodeAccessPermission; otherwise, false.
            Console.WriteLine("ContainsNonCodeAccessPermissions method returned
 " +
                ps1.ContainsNonCodeAccessPermissions());
            Console.WriteLine("Value of the permission set
 ToString = \n" + ps1.ToString());
            PermissionSet ps2 = new PermissionSet(PermissionState.None);
            // Create a second permission set and compare it to the
 first permission set.
            ps2.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Read,
 "USERNAME"));
            ps2.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Write
, "COMPUTERNAME"));
            IEnumerator list =  ps1.GetEnumerator();
            Console.WriteLine("Permissions in first permission
 set:");
            while (list.MoveNext())
                Console.WriteLine(list.Current.ToString());
            Console.WriteLine("Second permission IsSubsetOf first permission
 = " + ps2.IsSubsetOf(ps1));
            // Display the intersection of two permission sets.
            PermissionSet ps3 = ps2.Intersect(ps1);
            Console.WriteLine("The intersection of the first permission set
 and "
                + "the second permission set = " + ps3.ToString());
            // Create a new permission set.
            PermissionSet ps4 = new PermissionSet(PermissionState.None);
            ps4.AddPermission(
                new FileIOPermission(FileIOPermissionAccess.Read
,
                "C:\\Temp\\Testfile.txt"));
            ps4.AddPermission(
                new FileIOPermission(FileIOPermissionAccess.Read
 |
                FileIOPermissionAccess.Write | FileIOPermissionAccess.Append,
                "C:\\Temp\\Testfile.txt"));
            // Display the union of two permission sets.
            PermissionSet ps5 = ps3.Union(ps4);
            Console.WriteLine("The union of permission set
 3 and permission set 4 = "
                + ps5.ToString());
            // Remove FileIOPermission from the permission set.
            ps5.RemovePermission(typeof(FileIOPermission));
            Console.WriteLine("The last permission set after
 removing FileIOPermission = "
                + ps5.ToString());
            // Change the permission set using SetPermission.
            ps5.SetPermission(new EnvironmentPermission(EnvironmentPermissionAccess.AllAccess,
 "USERNAME"));
            Console.WriteLine("Permission set after SetPermission
 = " + ps5.ToString());
            // Display result of ToXml and FromXml operations.
            PermissionSet ps6 = new PermissionSet(PermissionState.None);
            ps6.FromXml(ps5.ToXml());
            Console.WriteLine("Result of ToFromXml = " + ps6.ToString()
 + "\n");
            // Display results of PermissionSet.GetEnumerator.
            IEnumerator psEnumerator = ps1.GetEnumerator();
            while (psEnumerator.MoveNext())
            {
                Console.WriteLine(psEnumerator.Current);
            }
            // Check for an unrestricted permission set.
            PermissionSet ps7 = new PermissionSet(PermissionState.Unrestricted);
            Console.WriteLine("Permission set is unrestricted
 = " + ps7.IsUnrestricted());
            // Create and display a copy of a permission set.
            ps7 = ps5.Copy();
            Console.WriteLine("Result of copy = " + ps7.ToString());
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message.ToString());
        }

    }


    static void Main(string[]
 args)
    {
        PermissionSetDemo();
    }

}
// This sample demonstrates the use of the PermissionSet class.
using namespace System;
using namespace System::Reflection;
using namespace System::Security::Permissions;
using namespace System::Security;
using namespace System::IO;
using namespace System::Collections;
void PermissionSetDemo()
{
   Console::WriteLine( "Executing PermissionSetDemo" );
   try
   {
      // Open a new PermissionSet.
      PermissionSet^ ps1 = gcnew PermissionSet( PermissionState::None );

      Console::WriteLine( "Adding permission to open a file from a file dialog
 box." );

      // Add a permission to the permission set.
      ps1->AddPermission( gcnew FileDialogPermission( FileDialogPermissionAccess::Open
 ) );

      Console::WriteLine( "Demanding permission to open a file." );
      ps1->Demand();
      Console::WriteLine( "Demand succeeded." );
      Console::WriteLine( "Adding permission to save a file from a file dialog
 box." );
      ps1->AddPermission( gcnew FileDialogPermission( FileDialogPermissionAccess::Save
 ) );
      Console::WriteLine( "Demanding permission to open and save a file."
 );
      ps1->Demand();
      Console::WriteLine( "Demand succeeded." );
      Console::WriteLine( "Adding permission to read environment variable USERNAME."
 );
      ps1->AddPermission( gcnew EnvironmentPermission( EnvironmentPermissionAccess::Read,"USERNAME"
 ) );
      ps1->Demand();
      Console::WriteLine( "Demand succeeded." );
      Console::WriteLine( "Adding permission to read environment variable COMPUTERNAME."
 );
      ps1->AddPermission( gcnew EnvironmentPermission( EnvironmentPermissionAccess::Write,"COMPUTERNAME"
 ) );

      // Demand all the permissions in the set.
      Console::WriteLine( "Demand all permissions." );
      ps1->Demand();

      Console::WriteLine( "Demand succeeded." );

      // Display the number of permissions in the set.
      Console::WriteLine( "Number of permissions = {0}", ps1->Count
 );

      // Display the value of the IsSynchronized property.
      Console::WriteLine( "IsSynchronized property = {0}", ps1->IsSynchronized
 );

      // Display the value of the IsReadOnly property.
      Console::WriteLine( "IsReadOnly property = {0}", ps1->IsReadOnly
 );

      // Display the value of the SyncRoot property.
      Console::WriteLine( "SyncRoot property = {0}", ps1->SyncRoot );

      // Display the result of a call to the ContainsNonCodeAccessPermissions
 method.
      // Gets a value indicating whether the PermissionSet contains
 permissions
      // that are not derived from CodeAccessPermission.
      // Returns true if the PermissionSet contains permissions that
 are not
      // derived from CodeAccessPermission; otherwise, false.
      Console::WriteLine( "ContainsNonCodeAccessPermissions method returned
 {0}", ps1->ContainsNonCodeAccessPermissions() );

      Console::WriteLine( "Value of the permission set ToString
 = \n{0}", ps1->ToString() );

      PermissionSet^ ps2 = gcnew PermissionSet( PermissionState::None );

      // Create a second permission set and compare it to the first
 permission set.
      ps2->AddPermission( gcnew EnvironmentPermission( EnvironmentPermissionAccess::Read,"USERNAME"
 ) );
      ps2->AddPermission( gcnew EnvironmentPermission( EnvironmentPermissionAccess::Write,"COMPUTERNAME"
 ) );
      IEnumerator^ list =  ps1->GetEnumerator();
      Console::WriteLine("Permissions in first permission
 set:");
            while (list->MoveNext())
                Console::WriteLine(list->Current->ToString());
      Console::WriteLine( "Second permission IsSubsetOf first permission = {0}",
 ps2->IsSubsetOf( ps1 ) );

      // Display the intersection of two permission sets.
      PermissionSet^ ps3 = ps2->Intersect( ps1 );
      Console::WriteLine( "The intersection of the first permission set
 and the second permission set = {0}", ps3 );

      // Create a new permission set.
      PermissionSet^ ps4 = gcnew PermissionSet( PermissionState::None );
      ps4->AddPermission( gcnew FileIOPermission( FileIOPermissionAccess::Read,"C:\\Temp\\Testfile.txt"
 ) );
      ps4->AddPermission( gcnew FileIOPermission( static_cast<FileIOPermissionAccess>(FileIOPermissionAccess::Read
 | FileIOPermissionAccess::Write | FileIOPermissionAccess::Append),"C:\\Temp\\Testfile.txt"
 ) );

      // Display the union of two permission sets.
      PermissionSet^ ps5 = ps3->Union( ps4 );
      Console::WriteLine( "The union of permission set 3
 and permission set 4 = {0}", ps5 );

      // Remove FileIOPermission from the permission set.
      ps5->RemovePermission( FileIOPermission::typeid );
      Console::WriteLine( "The last permission set after
 removing FileIOPermission = {0}", ps5 );

      // Change the permission set using SetPermission.
      ps5->SetPermission( gcnew EnvironmentPermission( EnvironmentPermissionAccess::AllAccess,"USERNAME"
 ) );
      Console::WriteLine( "Permission set after SetPermission
 = {0}", ps5 );

      // Display result of ToXml and FromXml operations.
      PermissionSet^ ps6 = gcnew PermissionSet( PermissionState::None );
      ps6->FromXml( ps5->ToXml() );
      Console::WriteLine( "Result of ToFromXml = {0}\n", ps6 );

      // Display results of PermissionSet::GetEnumerator.
      IEnumerator^ psEnumerator = ps1->GetEnumerator();
      while ( psEnumerator->MoveNext() )
      {
         Console::WriteLine( psEnumerator->Current );
      }

      // Check for an unrestricted permission set.
      PermissionSet^ ps7 = gcnew PermissionSet( PermissionState::Unrestricted );
      Console::WriteLine( "Permission set is unrestricted
 = {0}", ps7->IsUnrestricted() );

      // Create and display a copy of a permission set.
      ps7 = ps5->Copy();
      Console::WriteLine( "Result of copy = {0}", ps7 );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e->Message );
   }

}

int main()
{
   PermissionSetDemo();
}
// This sample demonstrates the use of the PermissionSet class.

import System.*;
import System.Reflection.*;
import System.Security.Permissions.*;
import System.Security.*;
import System.IO.*;
import System.Collections.*;

class MyClass
{
    public static void PermissionSetDemo()
    {
        Console.WriteLine("Executing PermissionSetDemo");
        try
        {
            // Open a new PermissionSet.
            PermissionSet ps1 = new PermissionSet(PermissionState.None);

            Console.WriteLine("Adding permission to open a file"
                + " from a file dialog box.");

            // Add a permission to the permission set.
            ps1.AddPermission(new FileDialogPermission(
                FileDialogPermissionAccess.Open));

            Console.WriteLine("Demanding permission to open a file.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to save"
                + " a file from a file dialog box.");
            ps1.AddPermission(new FileDialogPermission(
                FileDialogPermissionAccess.Save));
            Console.WriteLine("Demanding permission to open and save a file.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to read "
                + "environment variable USERNAME.");
            ps1.AddPermission(new EnvironmentPermission(
                EnvironmentPermissionAccess.Read, "USERNAME"));
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to read "
                + "environment variable COMPUTERNAME.");
            ps1.AddPermission(new EnvironmentPermission(
                EnvironmentPermissionAccess.Write, "COMPUTERNAME"));

            // Demand all the permissions in the set.
            Console.WriteLine("Demand all permissions.");
            ps1.Demand();

            Console.WriteLine("Demand succeeded.");

            // Display the number of permissions in the set.
            Console.WriteLine(("Number of permissions = " + ps1.get_Count()));

            // Display the value of the IsSynchronized property.
            Console.WriteLine(("IsSynchronized property = "
                + System.Convert.ToString(ps1.get_IsSynchronized())));

            // Display the value of the IsReadOnly property.
            Console.WriteLine(("IsReadOnly property = "
                + System.Convert.ToString(ps1.get_IsReadOnly())));

            // Display the value of the SyncRoot property.
            Console.WriteLine(("SyncRoot property = " + ps1.get_SyncRoot()));

            // Display the result of a call to the 
            // ContainsNonCodeAccessPermissions method.
            // Gets a value indicating whether the PermissionSet 
            // contains permissions
            // that are not derived from CodeAccessPermission.
            // Returns true if the PermissionSet contains permissions
 that are 
            // not derived from CodeAccessPermission; otherwise, false.
            Console.WriteLine(
                ("ContainsNonCodeAccessPermissions method returned "
                    + System.Convert.ToString(
                    ps1.ContainsNonCodeAccessPermissions())));

            Console.WriteLine(("Value of the permission set
 ToString = \n"
                + ps1.ToString()));

            PermissionSet ps2 = new PermissionSet(PermissionState.None);

            // Create a second permission set and compare it to the
            // first permission set.
            ps2.AddPermission(new EnvironmentPermission(
                EnvironmentPermissionAccess.Read, "USERNAME"));
            ps2.AddPermission(new EnvironmentPermission(
                EnvironmentPermissionAccess.Write, "COMPUTERNAME"));
            IEnumerator list = ps1.GetEnumerator();
            Console.WriteLine("Permissions in first permission
 set:");
            while (list.MoveNext())
                Console.WriteLine(list.get_Current().ToString());
            Console.WriteLine(
                ("Second permission IsSubsetOf first permission = "
                + System.Convert.ToString(ps2.IsSubsetOf(ps1))));

            // Display the intersection of two permission sets.
            PermissionSet ps3 = ps2.Intersect(ps1);
            Console.WriteLine(
                ("The intersection of the first permission set
 and "
                + "the second permission set = " + ps3.ToString()));

            // Create a new permission set.
            PermissionSet ps4 = new PermissionSet(PermissionState.None);
            ps4.AddPermission(new FileIOPermission(
                FileIOPermissionAccess.Read, "C:\\Temp\\Testfile.txt"));
            ps4.AddPermission(new FileIOPermission(
                FileIOPermissionAccess.Read | FileIOPermissionAccess.Write
                | FileIOPermissionAccess.Append, "C:\\Temp\\Testfile.txt"));

            // Display the union of two permission sets.
            PermissionSet ps5 = ps3.Union(ps4);
            Console.WriteLine(
                ("The union of permission set 3 and permission
 set 4 = "
                + ps5.ToString()));

            // Remove FileIOPermission from the permission set.
            ps5.RemovePermission(FileIOPermission.class.ToType());
            Console.WriteLine(
                ("The last permission set after removing
 FileIOPermission = "
                + ps5.ToString()));

            // Change the permission set using SetPermission.
            ps5.SetPermission(new EnvironmentPermission(
                EnvironmentPermissionAccess.AllAccess, "USERNAME"));
            Console.WriteLine(
                ("Permission set after SetPermission = "
                + ps5.ToString()));

            // Display result of ToXml and FromXml operations.
            PermissionSet ps6 = new PermissionSet(PermissionState.None);
            ps6.FromXml(ps5.ToXml());
            Console.WriteLine(("Result of ToFromXml = "
                + ps6.ToString() + "\n"));

            // Display results of PermissionSet.GetEnumerator.
            IEnumerator psEnumerator = ps1.GetEnumerator();
            while (psEnumerator.MoveNext())
            {
                Console.WriteLine(psEnumerator.get_Current());
            }

            // Check for an unrestricted permission set.
            PermissionSet ps7 = new PermissionSet(PermissionState.Unrestricted);
            Console.WriteLine(
                ("Permission set is unrestricted = "
                + System.Convert.ToString(ps7.IsUnrestricted())));

            // Create and display a copy of a permission set.
            ps7 = ps5.Copy();
            Console.WriteLine(("Result of copy = " + ps7.ToString()));
        }
        catch (System.Exception e)
        {
            Console.WriteLine(e.get_Message().ToString());
        }
    } //PermissionSetDemo

    public static void main(String[]
 args)
    {
        PermissionSetDemo();
    } //main
} //MyClass
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Security.PermissionSet
     System.Security.NamedPermissionSet
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

PermissionSet コンストラクタ (PermissionSet)

permSet パラメータから取得した初期値PermissionSet クラス新しインスタンス初期化します。

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    permSet As PermissionSet _
)
Dim permSet As PermissionSet

Dim instance As New PermissionSet(permSet)
public PermissionSet (
    PermissionSet permSet
)
public:
PermissionSet (
    PermissionSet^ permSet
)
public PermissionSet (
    PermissionSet permSet
)
public function PermissionSet (
    permSet : PermissionSet
)

パラメータ

permSet

新しい PermissionSet の値の取得元の PermissionSetそれ以外場合は、空の PermissionSet作成する null 参照 (Visual Basic では Nothing)。

解説解説

新しPermissionSet は、指定した PermissionSet格納されているアクセス許可コピー格納します

メモメモ

permSet パラメータnull 参照 (Visual Basic では Nothing) でない場合、これは Copy と同じです。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

PermissionSet コンストラクタ

PermissionSet クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
PermissionSet (PermissionSet) permSet パラメータから取得した初期値PermissionSet クラス新しインスタンス初期化します。
PermissionSet (PermissionState) PermissionState を指定してPermissionSet クラス新しインスタンス初期化します。
参照参照

関連項目

PermissionSet クラス
PermissionSet メンバ
System.Security 名前空間

PermissionSet コンストラクタ (PermissionState)

PermissionState指定して、PermissionSet クラス新しインスタンス初期化します。

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    state As PermissionState _
)
Dim state As PermissionState

Dim instance As New PermissionSet(state)
public PermissionSet (
    PermissionState state
)
public:
PermissionSet (
    PermissionState state
)
public PermissionSet (
    PermissionState state
)
public function PermissionSet (
    state : PermissionState
)

パラメータ

state

PermissionState 値の 1 つ

例外例外
例外種類条件

ArgumentException

state パラメータが、有効な PermissionState ではありません。

解説解説

Unrestricted 状態では、IUnrestrictedPermission インターフェイス実装するすべてのアクセス許可が有効ですが、None では、すべてのアクセス許可無効です。

空の PermissionSet に対して AddPermission を使用すると、セットより詳細に定義できます

使用例使用例

PermissionSet コンストラクタ使用してアクセス許可の状態が None に設定されアクセス許可セット作成するコード例次に示します。このコード例は、PermissionSet クラストピック取り上げているコード例一部分です。

' Open a new PermissionSet.
Dim ps1 As New PermissionSet(PermissionState.None)
Console.WriteLine("Adding permission to open a file from a file
 dialog box.")
' Add a permission to the permission set.
ps1.AddPermission(New FileDialogPermission(FileDialogPermissionAccess.Open))
Console.WriteLine("Demanding permission to open a file.")
ps1.Demand()
Console.WriteLine("Demand succeeded.")
// Open a new PermissionSet.
PermissionSet ps1 = new PermissionSet(PermissionState.None);
Console.WriteLine("Adding permission to open a file from a file dialog box.");
// Add a permission to the permission set.
ps1.AddPermission(
    new FileDialogPermission(FileDialogPermissionAccess.Open));
Console.WriteLine("Demanding permission to open a file.");
ps1.Demand();
Console.WriteLine("Demand succeeded.");
// Open a new PermissionSet.
PermissionSet^ ps1 = gcnew PermissionSet( PermissionState::None );

Console::WriteLine( "Adding permission to open a file from a file dialog box."
 );

// Add a permission to the permission set.
ps1->AddPermission( gcnew FileDialogPermission( FileDialogPermissionAccess::Open
 ) );

Console::WriteLine( "Demanding permission to open a file." );
ps1->Demand();
Console::WriteLine( "Demand succeeded." );
// Open a new PermissionSet.
PermissionSet ps1 = new PermissionSet(PermissionState.None);

Console.WriteLine("Adding permission to open a file"
    + " from a file dialog box.");

// Add a permission to the permission set.
ps1.AddPermission(new FileDialogPermission(
    FileDialogPermissionAccess.Open));

Console.WriteLine("Demanding permission to open a file.");
ps1.Demand();
Console.WriteLine("Demand succeeded.");
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

PermissionSet プロパティ


PermissionSet メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド AddPermission 指定したアクセス許可を PermissionSet に追加します
パブリック メソッド Assert アクセス許可要求によって保護されているリソースへのアクセス許可が、スタックの上位にある呼び出し元に付与されていない場合でも、呼び出しコードが、このメソッド呼び出すコード通じてリソースアクセスできるように宣言しますAssert使用すると、セキュリティ上の問題発生することがあります
パブリック メソッド ContainsNonCodeAccessPermissions PermissionSet が、CodeAccessPermission から派生していないアクセス許可格納しているかどうかを示す値を取得します
パブリック メソッド ConvertPermissionSet エンコード済みPermissionSet別の XML エンコード形式変換します
パブリック メソッド Copy PermissionSetコピー作成します
パブリック メソッド CopyTo セットアクセス許可オブジェクトを、Array 内の示され位置コピーします
パブリック メソッド Demand コール スタック内の上位にあるすべての呼び出し元に現在のインスタンスによって指定されているアクセス許可与えられていない場合は、実行時強制的に SecurityException を呼び出します。
パブリック メソッド Deny 現在の PermissionSet格納されているアクセス許可種類積集合を持つアクセス許可に対して呼び出しコード通じて渡す Demand失敗する原因となります
パブリック メソッド Equals オーバーロードされますオーバーライドされます2 つオブジェクト等しかどうか判断します
パブリック メソッド FromXml XML エンコーディングから、指定した状態のセキュリティ オブジェクト再構築ます。
パブリック メソッド GetEnumerator セットアクセス許可列挙子を返します
パブリック メソッド GetHashCode オーバーライドされますハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した PermissionSet オブジェクトハッシュ コード取得します
パブリック メソッド GetPermission 指定した種類アクセス許可オブジェクトセット内にある場合は、そのアクセス許可オブジェクト取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド Intersect 現在の PermissionSet指定した PermissionSet積集合を表すアクセス許可セット作成して返します
パブリック メソッド IsEmpty PermissionSet が空かどうかを示す値を取得します
パブリック メソッド IsSubsetOf 現在の PermissionSetが、指定した PermissionSetサブセットかどうか判断します
パブリック メソッド IsUnrestricted PermissionSetUnrestricted かどうか判断します
パブリック メソッド PermitOnly 現在の PermissionSetサブセットではない任意の PermissionSet に対して呼び出しコード通じて渡す Demand失敗する原因となります
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド RemovePermission セットか特定の種類アクセス許可削除します
パブリック メソッド RevertAssert 現在のフレーム対す以前Assert をすべて削除し無効にます。
パブリック メソッド SetPermission アクセス許可PermissionSet設定して既存の、同じ種類アクセス許可置換します。
パブリック メソッド ToString オーバーライドされますPermissionSet文字列形式返します
パブリック メソッド ToXml セキュリティ オブジェクトとその現在の状態を表す XML エンコーディング作成します
パブリック メソッド Union 現在の PermissionSet指定した PermissionSet和集合を表す PermissionSet作成します
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.IDeserializationCallback.OnDeserialization オブジェクト グラフ全体が逆シリアル化された時点実行します
参照参照

関連項目

PermissionSet クラス
System.Security 名前空間

PermissionSet メンバ

複数異な種類アクセス許可格納できるコレクション表します

PermissionSet データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド AddPermission 指定したアクセス許可PermissionSet追加します
パブリック メソッド Assert アクセス許可要求によって保護されているリソースへのアクセス許可が、スタックの上位にある呼び出し元に付与されていない場合でも、呼び出しコードが、このメソッド呼び出すコード通じてリソースアクセスできるように宣言しますAssert使用すると、セキュリティ上の問題発生することがあります
パブリック メソッド ContainsNonCodeAccessPermissions PermissionSet が、CodeAccessPermission から派生していないアクセス許可格納しているかどうかを示す値を取得します
パブリック メソッド ConvertPermissionSet エンコード済みPermissionSet別の XML エンコード形式変換します
パブリック メソッド Copy PermissionSetコピー作成します
パブリック メソッド CopyTo セットアクセス許可オブジェクトを、Array 内の示され位置コピーします
パブリック メソッド Demand コール スタック内の上位にあるすべての呼び出し元に現在のインスタンスによって指定されているアクセス許可与えられていない場合は、実行時強制的に SecurityException を呼び出します。
パブリック メソッド Deny 現在の PermissionSet格納されているアクセス許可種類積集合を持つアクセス許可に対して呼び出しコード通じて渡す Demand失敗する原因となります
パブリック メソッド Equals オーバーロードされますオーバーライドされます2 つオブジェクト等しかどうか判断します
パブリック メソッド FromXml XML エンコーディングから、指定した状態のセキュリティ オブジェクト再構築ます。
パブリック メソッド GetEnumerator セットアクセス許可列挙子を返します
パブリック メソッド GetHashCode オーバーライドされますハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した PermissionSet オブジェクトハッシュ コード取得します
パブリック メソッド GetPermission 指定した種類アクセス許可オブジェクトセット内にある場合は、そのアクセス許可オブジェクト取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド Intersect 現在の PermissionSet指定した PermissionSet積集合を表すアクセス許可セット作成して返します
パブリック メソッド IsEmpty PermissionSet が空かどうかを示す値を取得します
パブリック メソッド IsSubsetOf 現在の PermissionSetが、指定した PermissionSetサブセットかどうか判断します
パブリック メソッド IsUnrestricted PermissionSetUnrestricted かどうか判断します
パブリック メソッド PermitOnly 現在の PermissionSetサブセットではない任意の PermissionSet に対して呼び出しコード通じて渡す Demand失敗する原因となります
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド RemovePermission セットか特定の種類アクセス許可削除します
パブリック メソッド RevertAssert 現在のフレーム対す以前Assert をすべて削除し無効にます。
パブリック メソッド SetPermission アクセス許可PermissionSet設定して既存の、同じ種類アクセス許可置換します。
パブリック メソッド ToString オーバーライドされますPermissionSet文字列形式返します
パブリック メソッド ToXml セキュリティ オブジェクトとその現在の状態を表す XML エンコーディング作成します
パブリック メソッド Union 現在の PermissionSet指定した PermissionSet和集合を表す PermissionSet作成します
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.IDeserializationCallback.OnDeserialization オブジェクト グラフ全体が逆シリアル化された時点実行します
参照参照

関連項目

PermissionSet クラス
System.Security 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PermissionSet」の関連用語

PermissionSetのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PermissionSetのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS