MutexAccessRule 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
MutexAccessRule 클래스의 새 인스턴스를 초기화합니다.
오버로드
MutexAccessRule(IdentityReference, MutexRights, AccessControlType) |
MutexAccessRule 클래스의 새 인스턴스를 초기화하여 규칙을 적용할 사용자 또는 그룹, 액세스 권한 및 지정된 액세스 권한의 허용 또는 거부를 지정합니다. |
MutexAccessRule(String, MutexRights, AccessControlType) |
MutexAccessRule 클래스의 새 인스턴스를 초기화하여 규칙을 적용할 사용자 또는 그룹의 이름, 액세스 권한 및 지정된 액세스 권한의 허용 또는 거부 여부를 지정합니다. |
MutexAccessRule(IdentityReference, MutexRights, AccessControlType)
- Source:
- MutexSecurity.cs
- Source:
- MutexSecurity.cs
- Source:
- MutexSecurity.cs
MutexAccessRule 클래스의 새 인스턴스를 초기화하여 규칙을 적용할 사용자 또는 그룹, 액세스 권한 및 지정된 액세스 권한의 허용 또는 거부를 지정합니다.
public:
MutexAccessRule(System::Security::Principal::IdentityReference ^ identity, System::Security::AccessControl::MutexRights eventRights, System::Security::AccessControl::AccessControlType type);
public MutexAccessRule (System.Security.Principal.IdentityReference identity, System.Security.AccessControl.MutexRights eventRights, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.MutexAccessRule : System.Security.Principal.IdentityReference * System.Security.AccessControl.MutexRights * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.MutexAccessRule
Public Sub New (identity As IdentityReference, eventRights As MutexRights, type As AccessControlType)
매개 변수
- identity
- IdentityReference
규칙을 적용할 사용자나 그룹입니다. 이 값은 SecurityIdentifier 형식이거나 NTAccount와 같이 SecurityIdentifier 형식으로 변환할 수 있는 형식이어야 합니다.
- eventRights
- MutexRights
허용 또는 거부 권한을 지정하는 MutexRights 값의 비트 조합입니다.
- type
- AccessControlType
권한 허용 여부를 지정하는 AccessControlType 값 중 하나입니다.
예외
identity
의 형식이 SecurityIdentifier도 아니고 NTAccount와 같이 SecurityIdentifier 형식으로 변환할 수 있는 형식도 아닌 경우
설명
에서 대기 Mutex 하려면(또는 WaitAnyWaitAll 메서드를 WaitOne호출하여) 사용자에게 액세스 권한이 MutexRights.Synchronize 있어야 합니다. 뮤텍스를 해제하려면 메서드를 ReleaseMutex 호출하여 사용자에게 액세스 권한이 MutexRights.Modify 있어야 합니다.
적용 대상
MutexAccessRule(String, MutexRights, AccessControlType)
- Source:
- MutexSecurity.cs
- Source:
- MutexSecurity.cs
- Source:
- MutexSecurity.cs
MutexAccessRule 클래스의 새 인스턴스를 초기화하여 규칙을 적용할 사용자 또는 그룹의 이름, 액세스 권한 및 지정된 액세스 권한의 허용 또는 거부 여부를 지정합니다.
public:
MutexAccessRule(System::String ^ identity, System::Security::AccessControl::MutexRights eventRights, System::Security::AccessControl::AccessControlType type);
public MutexAccessRule (string identity, System.Security.AccessControl.MutexRights eventRights, System.Security.AccessControl.AccessControlType type);
new System.Security.AccessControl.MutexAccessRule : string * System.Security.AccessControl.MutexRights * System.Security.AccessControl.AccessControlType -> System.Security.AccessControl.MutexAccessRule
Public Sub New (identity As String, eventRights As MutexRights, type As AccessControlType)
매개 변수
- identity
- String
규칙을 적용할 사용자나 그룹의 이름입니다.
- eventRights
- MutexRights
허용 또는 거부 권한을 지정하는 MutexRights 값의 비트 조합입니다.
- type
- AccessControlType
권한 허용 여부를 지정하는 AccessControlType 값 중 하나입니다.
예외
eventRights
가 0입니다.
예제
다음 코드 예제에서는이 생성자를 사용 하 여 개체를 만드는 MutexAccessRule 방법을 보여 줍니다. 이 예제에서는 개체를 MutexSecurity 만들고, 현재 사용자에 대한 다양한 권한을 허용 및 거부하는 규칙을 추가하고, 결과 규칙 쌍을 표시합니다. 그런 다음, 이 예제에서는 현재 사용자에 대한 새 권한을 허용하고 결과를 표시하여 새 권한이 기존 규칙과 병합됨을 Allow 보여 줍니다.
참고
이 예제에서는 보안 개체를 개체에 Mutex 연결하지 않습니다. 보안 개체를 연결하는 예제는 및 Mutex.SetAccessControl에서 Mutex.GetAccessControl 찾을 수 있습니다.
using System;
using System.Threading;
using System.Security.AccessControl;
using System.Security.Principal;
public class Example
{
public static void Main()
{
// Create a string representing the current user.
string user = Environment.UserDomainName + "\\" +
Environment.UserName;
// Create a security object that grants no access.
MutexSecurity mSec = new MutexSecurity();
// Add a rule that grants the current user the
// right to enter or release the mutex.
MutexAccessRule rule = new MutexAccessRule(user,
MutexRights.Synchronize | MutexRights.Modify,
AccessControlType.Allow);
mSec.AddAccessRule(rule);
// Add a rule that denies the current user the
// right to change permissions on the mutex.
rule = new MutexAccessRule(user,
MutexRights.ChangePermissions,
AccessControlType.Deny);
mSec.AddAccessRule(rule);
// Display the rules in the security object.
ShowSecurity(mSec);
// Add a rule that allows the current user the
// right to read permissions on the mutex. This rule
// is merged with the existing Allow rule.
rule = new MutexAccessRule(user,
MutexRights.ReadPermissions,
AccessControlType.Allow);
mSec.AddAccessRule(rule);
ShowSecurity(mSec);
}
private static void ShowSecurity(MutexSecurity security)
{
Console.WriteLine("\r\nCurrent access rules:\r\n");
foreach(MutexAccessRule ar in
security.GetAccessRules(true, true, typeof(NTAccount)))
{
Console.WriteLine(" User: {0}", ar.IdentityReference);
Console.WriteLine(" Type: {0}", ar.AccessControlType);
Console.WriteLine(" Rights: {0}", ar.MutexRights);
Console.WriteLine();
}
}
}
/*This code example produces output similar to following:
Current access rules:
User: TestDomain\TestUser
Type: Deny
Rights: ChangePermissions
User: TestDomain\TestUser
Type: Allow
Rights: Modify, Synchronize
Current access rules:
User: TestDomain\TestUser
Type: Deny
Rights: ChangePermissions
User: TestDomain\TestUser
Type: Allow
Rights: Modify, ReadPermissions, Synchronize
*/
Imports System.Threading
Imports System.Security.AccessControl
Imports System.Security.Principal
Public Class Example
Public Shared Sub Main()
' Create a string representing the current user.
Dim user As String = Environment.UserDomainName _
& "\" & Environment.UserName
' Create a security object that grants no access.
Dim mSec As New MutexSecurity()
' Add a rule that grants the current user the
' right to enter or release the mutex.
Dim rule As New MutexAccessRule(user, _
MutexRights.Synchronize _
Or MutexRights.Modify, _
AccessControlType.Allow)
mSec.AddAccessRule(rule)
' Add a rule that denies the current user the
' right to change permissions on the mutex.
rule = New MutexAccessRule(user, _
MutexRights.ChangePermissions, _
AccessControlType.Deny)
mSec.AddAccessRule(rule)
' Display the rules in the security object.
ShowSecurity(mSec)
' Add a rule that allows the current user the
' right to read permissions on the mutex. This rule
' is merged with the existing Allow rule.
rule = New MutexAccessRule(user, _
MutexRights.ReadPermissions, _
AccessControlType.Allow)
mSec.AddAccessRule(rule)
ShowSecurity(mSec)
End Sub
Private Shared Sub ShowSecurity(ByVal security As MutexSecurity)
Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)
For Each ar As MutexAccessRule In _
security.GetAccessRules(True, True, GetType(NTAccount))
Console.WriteLine(" User: {0}", ar.IdentityReference)
Console.WriteLine(" Type: {0}", ar.AccessControlType)
Console.WriteLine(" Rights: {0}", ar.MutexRights)
Console.WriteLine()
Next
End Sub
End Class
'This code example produces output similar to following:
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Deny
' Rights: ChangePermissions
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: Modify, Synchronize
'
'
'Current access rules:
'
' User: TestDomain\TestUser
' Type: Deny
' Rights: ChangePermissions
'
' User: TestDomain\TestUser
' Type: Allow
' Rights: Modify, ReadPermissions, Synchronize
설명
에서 대기 Mutex 하려면(또는 WaitAnyWaitAll 메서드를 WaitOne호출하여) 사용자에게 액세스 권한이 MutexRights.Synchronize 있어야 합니다. 뮤텍스를 해제하려면 메서드를 ReleaseMutex 호출하여 사용자에게 액세스 권한이 MutexRights.Modify 있어야 합니다.
이 생성자는 생성자에 전달 identity
하고 새로 만든 개체를 NTAccount.NTAccount(String) 생성자에 전달하여 개체를 만드는 NTAccountNTAccount 것과 MutexAccessRule(IdentityReference, MutexRights, AccessControlType) 같습니다.
적용 대상
.NET