SemaphoreSecurity Sınıf

Tanım

Adlandırılmış semafor için Windows erişim denetimi güvenliğini temsil eder. Bu sınıf devralınamaz.

public ref class SemaphoreSecurity sealed : System::Security::AccessControl::NativeObjectSecurity
public sealed class SemaphoreSecurity : System.Security.AccessControl.NativeObjectSecurity
[System.Security.SecurityCritical]
public sealed class SemaphoreSecurity : System.Security.AccessControl.NativeObjectSecurity
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class SemaphoreSecurity : System.Security.AccessControl.NativeObjectSecurity
type SemaphoreSecurity = class
    inherit NativeObjectSecurity
[<System.Security.SecurityCritical>]
type SemaphoreSecurity = class
    inherit NativeObjectSecurity
[<System.Runtime.InteropServices.ComVisible(false)>]
type SemaphoreSecurity = class
    inherit NativeObjectSecurity
Public NotInheritable Class SemaphoreSecurity
Inherits NativeObjectSecurity
Devralma
Öznitelikler

Örnekler

Aşağıdaki kod örneği, kurallar ve Deny kurallar arasındaki Allow ayrımı gösterir ve uyumlu kurallardaki hakların birleşimini gösterir. Örnek bir SemaphoreSecurity nesne oluşturur, geçerli kullanıcı için çeşitli haklara izin veren ve reddeden kurallar ekler ve sonuçta elde edilen kural çiftini görüntüler. Örnek daha sonra geçerli kullanıcı için yeni haklara izin verir ve yeni hakların mevcut Allow kuralla birleştirildiğini gösteren sonucu görüntüler.

Not

Bu örnek, güvenlik nesnesini bir Semaphore nesneye eklemez. Güvenlik nesneleri ekleyen örnekler ve Semaphore.SetAccessControliçinde Semaphore.GetAccessControl bulunabilir.

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.
        SemaphoreSecurity mSec = new SemaphoreSecurity();

        // Add a rule that grants the current user the 
        // right to enter or release the semaphore.
        SemaphoreAccessRule rule = new SemaphoreAccessRule(user, 
            SemaphoreRights.Synchronize | SemaphoreRights.Modify, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Add a rule that denies the current user the 
        // right to change permissions on the semaphore.
        rule = new SemaphoreAccessRule(user, 
            SemaphoreRights.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 semaphore. This rule
        // is merged with the existing Allow rule.
        rule = new SemaphoreAccessRule(user, 
            SemaphoreRights.ReadPermissions, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        ShowSecurity(mSec);
    }

    private static void ShowSecurity(SemaphoreSecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach(SemaphoreAccessRule 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.SemaphoreRights);
            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 SemaphoreSecurity()

        ' Add a rule that grants the current user the 
        ' right to enter or release the semaphore.
        Dim rule As New SemaphoreAccessRule(user, _
            SemaphoreRights.Synchronize _
            Or SemaphoreRights.Modify, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Add a rule that denies the current user the 
        ' right to change permissions on the semaphore.
        rule = New SemaphoreAccessRule(user, _
            SemaphoreRights.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 semaphore. This 
        ' rule is merged with the existing Allow rule.
        rule = New SemaphoreAccessRule(user, _
            SemaphoreRights.ReadPermissions, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ShowSecurity(mSec)

    End Sub 

    Private Shared Sub ShowSecurity(ByVal security As SemaphoreSecurity)
        Console.WriteLine(vbCrLf & "Current access rules:" & vbCrLf)

        For Each ar As SemaphoreAccessRule In _
            security.GetAccessRules(True, True, GetType(NTAccount))

            Console.WriteLine("        User: {0}", ar.IdentityReference)
            Console.WriteLine("        Type: {0}", ar.AccessControlType)
            Console.WriteLine("      Rights: {0}", ar.SemaphoreRights)
            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

Açıklamalar

Nesnesi SemaphoreSecurity , adlandırılmış sistem semaforu için erişim haklarını belirtir ve ayrıca erişim girişimlerinin nasıl denetlenip denetlenmeyişini belirtir. Semafora erişim hakları kural olarak ifade edilir ve her erişim kuralı bir SemaphoreAccessRule nesne tarafından temsil edilir. Her denetim kuralı bir SemaphoreAuditRule nesneyle temsil edilir.

Bu, güvenliği sağlanabilir her nesnenin güvenli nesneye erişimi denetleyen en fazla bir isteğe bağlı erişim denetim listesine (DACL) ve hangi erişim denemelerinin denetlendiğini belirten en fazla bir sistem erişim denetim listesine (SACL) sahip olduğu temel Windows güvenlik sistemini yansıtır. DACL ve SACL, kullanıcılar ve gruplar için erişim ve denetimi belirten erişim denetimi girdilerinin (ACE) sıralı listeleridir. Bir SemaphoreAccessRule veya SemaphoreAuditRule nesnesi birden fazla ACE'i temsil edebilir.

Not

Nesne Semaphore yerel bir semaforu veya adlandırılmış bir sistem semaforu temsil edebilir. Windows erişim denetimi güvenliği yalnızca adlandırılmış sistem semaforları için anlamlıdır.

SemaphoreSecurity, SemaphoreAccessRuleve sınıfları, ACL'lerin SemaphoreAuditRule ve ACL'lerin uygulama ayrıntılarını gizler. On yedi farklı ACE türünü ve devralmayı ve erişim haklarının yayılmasını doğru şekilde korumanın karmaşıklığını yoksaymanıza olanak sağlar. Bu nesneler, aşağıdaki yaygın erişim denetimi hatalarını önlemek için de tasarlanmıştır:

  • Null DACL ile bir güvenlik tanımlayıcısı oluşturma. DACL'ye null başvuru, herhangi bir kullanıcının bir nesneye erişim kuralları eklemesine olanak tanır ve potansiyel olarak bir hizmet reddi saldırısı oluşturur. Yeni SemaphoreSecurity bir nesne her zaman tüm kullanıcılar için tüm erişimi reddeden boş bir DACL ile başlar.

  • ACL'lerin kurallı sıralamasını ihlal etme. DACL'deki ACE listesi kurallı sırada tutulmazsa, kullanıcılara yanlışlıkla güvenli nesneye erişim verilebilir. Örneğin, reddedilen erişim hakları her zaman izin verilen erişim hakları öncesinde görünmelidir. SemaphoreSecurity nesneleri dahili olarak doğru sırayı korur.

  • Yalnızca kaynak yöneticisi denetimi altında olması gereken güvenlik tanımlayıcısı bayraklarını düzenleme.

  • ACE bayraklarının geçersiz bileşimleri oluşturuluyor.

  • Devralınan ACL'leri düzenleme. Devralma ve yayma, erişim ve denetim kurallarında yaptığınız değişikliklere yanıt olarak kaynak yöneticisi tarafından işlenir.

  • ACL'lere anlamsız ACL'ler ekleme.

.NET güvenlik nesneleri tarafından desteklenmeyen tek özellikler, uygulama geliştiricilerinin çoğunluğu tarafından kaçınılması gereken tehlikeli etkinliklerdir, örneğin:

  • Normalde kaynak yöneticisi tarafından gerçekleştirilen düşük düzeyli görevler.

  • Kurallı sıralamayı korumayan yollarla erişim denetimi girdileri ekleme veya kaldırma.

Adlandırılmış semafor için Windows erişim denetimi güvenliğini değiştirmek için nesnesini almak SemaphoreSecurity üzere yöntemini kullanınSemaphore.GetAccessControl. Kuralları ekleyip kaldırarak güvenlik nesnesini değiştirin ve ardından yöntemini kullanarak Semaphore.SetAccessControl yeniden ekleyin.

Önemli

Bir SemaphoreSecurity nesnede yaptığınız değişiklikler, değiştirilen güvenlik nesnesini adlandırılmış semafora atamak için yöntemini çağırana Semaphore.SetAccessControl kadar adlandırılmış semaforun erişim düzeylerini etkilemez.

Erişim denetimi güvenliğini bir semafordan diğerine kopyalamak için yöntemini kullanarak Semaphore.GetAccessControl ilk semafor için erişim ve denetim kurallarını temsil eden bir SemaphoreSecurity nesne alın, ardından yöntemini veya nesneyi kabul eden bir SemaphoreSecurity oluşturucuyu kullanarak Semaphore.SetAccessControl bu kuralları ikinci semafora atayın.

Güvenlik tanımlayıcısı tanım diline (SDDL) yatırımları olan kullanıcılar, adlandırılmış semafor için erişim kuralları ayarlamak için yöntemini ve GetSecurityDescriptorSddlForm SDDL biçiminde erişim kurallarını temsil eden bir dize elde etmek için yöntemini kullanabilirSetSecurityDescriptorSddlForm. Bu, yeni geliştirme için önerilmez.

Oluşturucular

SemaphoreSecurity()

SemaphoreSecurity sınıfının yeni bir örneğini varsayılan değerlerle başlatır.

SemaphoreSecurity(String, AccessControlSections)

Sistem semaforundan SemaphoreSecurity erişim denetimi güvenlik kurallarının belirtilen bölümleriyle sınıfının yeni bir örneğini, belirtilen adla başlatır.

Özellikler

AccessRightType

Sınıfının erişim haklarını temsil etmek için kullandığı numaralandırmayı SemaphoreSecurity alır.

AccessRulesModified

Bu ObjectSecurity nesneyle ilişkili erişim kurallarının değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
AccessRuleType

Sınıfının erişim kurallarını temsil etmek için kullandığı türü SemaphoreSecurity alır.

AreAccessRulesCanonical

Bu ObjectSecurity nesneyle ilişkili erişim kurallarının kurallı sırada olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AreAccessRulesProtected

Bu ObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'nin (DACL) korunup korunmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AreAuditRulesCanonical

Bu ObjectSecurity nesneyle ilişkili denetim kurallarının kurallı sırada olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AreAuditRulesProtected

Bu ObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nin (SACL) korunup korunmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
AuditRulesModified

Bu ObjectSecurity nesneyle ilişkili denetim kurallarının değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
AuditRuleType

Sınıfın SemaphoreSecurity denetim kurallarını temsil etmek için kullandığı türü alır.

GroupModified

Güvenli hale getirilebilir nesneyle ilişkili grubun değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
IsContainer

Bu ObjectSecurity nesnenin bir kapsayıcı nesnesi olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
IsDS

Bu ObjectSecurity nesnenin bir dizin nesnesi olup olmadığını belirten bir Boole değeri alır.

(Devralındığı yer: ObjectSecurity)
OwnerModified

Güvenliği sağlanabilir nesnenin sahibinin değiştirilip değiştirilmediğini belirten bir Boole değeri alır veya ayarlar.

(Devralındığı yer: ObjectSecurity)
SecurityDescriptor

Bu örnek için güvenlik tanımlayıcısını alır.

(Devralındığı yer: ObjectSecurity)

Yöntemler

AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType)

Belirtilen kullanıcı için, belirtilen erişim hakları, erişim denetimi ve bayraklarla yeni bir erişim denetimi kuralı oluşturur.

AddAccessRule(AccessRule)

Belirtilen erişim kuralını bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ne (DACL) ekler.

(Devralındığı yer: CommonObjectSecurity)
AddAccessRule(SemaphoreAccessRule)

Yeni kuralın birleştirilebileceği eşleşen bir kural arar. Hiçbir kural bulunmazsa yeni kuralı ekler.

AddAuditRule(AuditRule)

Belirtilen denetim kuralını bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'ne (SACL) ekler.

(Devralındığı yer: CommonObjectSecurity)
AddAuditRule(SemaphoreAuditRule)

Yeni kuralın birleştirilebileceği bir denetim kuralı arar. Hiçbir kural bulunmazsa yeni kuralı ekler.

AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags)

Kuralın uygulandığı kullanıcıyı, denetime erişim haklarını ve denetim kuralını tetikleyen sonucu belirterek yeni bir denetim kuralı oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetAccessRules(Boolean, Boolean, Type)

Belirtilen güvenlik tanımlayıcısıyla ilişkili erişim kuralları koleksiyonunu alır.

(Devralındığı yer: CommonObjectSecurity)
GetAuditRules(Boolean, Boolean, Type)

Belirtilen güvenlik tanımlayıcısıyla ilişkili denetim kuralları koleksiyonunu alır.

(Devralındığı yer: CommonObjectSecurity)
GetGroup(Type)

Belirtilen sahiple ilişkili birincil grubu alır.

(Devralındığı yer: ObjectSecurity)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetOwner(Type)

Belirtilen birincil grupla ilişkili sahibi alır.

(Devralındığı yer: ObjectSecurity)
GetSecurityDescriptorBinaryForm()

Bu ObjectSecurity nesnenin güvenlik tanımlayıcı bilgilerini temsil eden bayt değerleri dizisi döndürür.

(Devralındığı yer: ObjectSecurity)
GetSecurityDescriptorSddlForm(AccessControlSections)

Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerinin Güvenlik Tanımlayıcısı Tanım Dili (SDDL) gösterimini döndürür.

(Devralındığı yer: ObjectSecurity)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ModifyAccess(AccessControlModification, AccessRule, Boolean)

Belirtilen değişikliği bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ne (DACL) uygular.

(Devralındığı yer: CommonObjectSecurity)
ModifyAccessRule(AccessControlModification, AccessRule, Boolean)

Belirtilen değişikliği bu ObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ne (DACL) uygular.

(Devralındığı yer: ObjectSecurity)
ModifyAudit(AccessControlModification, AuditRule, Boolean)

Belirtilen değişikliği bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'ne (SACL) uygular.

(Devralındığı yer: CommonObjectSecurity)
ModifyAuditRule(AccessControlModification, AuditRule, Boolean)

Belirtilen değişikliği bu ObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'ne (SACL) uygular.

(Devralındığı yer: ObjectSecurity)
Persist(Boolean, String, AccessControlSections)

Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: ObjectSecurity)
Persist(SafeHandle, AccessControlSections)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucuya geçirilen parametrelerin değerlerinin includeSections ve kalıcı yöntemlerin aynı olmasını öneririz.persist.

(Devralındığı yer: NativeObjectSecurity)
Persist(SafeHandle, AccessControlSections, Object)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: NativeObjectSecurity)
Persist(String, AccessControlSections)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: NativeObjectSecurity)
Persist(String, AccessControlSections, Object)

Bu NativeObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının belirtilen bölümlerini kalıcı depolama alanına kaydeder. Oluşturucu ve kalıcı yöntemlere geçirilen parametrelerin değerlerinin includeSections aynı olmasını öneririz.

(Devralındığı yer: NativeObjectSecurity)
PurgeAccessRules(IdentityReference)

Belirtilen IdentityReferenceile ilişkili tüm erişim kurallarını kaldırır.

(Devralındığı yer: ObjectSecurity)
PurgeAuditRules(IdentityReference)

Belirtilen IdentityReferenceile ilişkili tüm denetim kurallarını kaldırır.

(Devralındığı yer: ObjectSecurity)
ReadLock()

Bu ObjectSecurity nesneyi okuma erişimi için kilitler.

(Devralındığı yer: ObjectSecurity)
ReadUnlock()

Okuma erişimi için bu ObjectSecurity nesnenin kilidini açar.

(Devralındığı yer: ObjectSecurity)
RemoveAccessRule(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Access Control Listesi'nden (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısını ve erişim maskesini içeren erişim kurallarını kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAccessRule(SemaphoreAccessRule)

Belirtilen kuralla aynı kullanıcıya ve AccessControlType (izin ver veya reddet) ve uyumlu devralma ve yayma bayraklarına sahip bir erişim denetimi kuralı arar; böyle bir kural bulunursa, belirtilen erişim kuralında yer alan haklar bu kuraldan kaldırılır.

RemoveAccessRuleAll(AccessRule)

Belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısı olan tüm erişim kurallarını bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Access Control Listesi'nden (DACL) kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAccessRuleAll(SemaphoreAccessRule)

Belirtilen kuralla aynı kullanıcı ve AccessControlType (izin ver veya reddet) ile tüm erişim denetimi kurallarını arar ve bulunursa bunları kaldırır.

RemoveAccessRuleSpecific(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkilendirilmiş İsteğe Bağlı Access Control Listesi'nden (DACL) belirtilen erişim kuralıyla tam olarak eşleşen tüm erişim kurallarını kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAccessRuleSpecific(SemaphoreAccessRule)

Belirtilen kuralla tam olarak eşleşen bir erişim denetimi kuralı arar ve bulunursa kuralı kaldırır.

RemoveAuditRule(AuditRule)

Belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısını ve erişim maskesini içeren denetim kurallarını bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nden (SACL) kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAuditRule(SemaphoreAuditRule)

Belirtilen kuralla aynı kullanıcıya ve uyumlu devralma ve yayma bayraklarına sahip bir denetim denetimi kuralı arar; uyumlu bir kural bulunursa, belirtilen kuralda yer alan haklar bu kuraldan kaldırılır.

RemoveAuditRuleAll(AuditRule)

Belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısına sahip tüm denetim kurallarını bu CommonObjectSecurity nesneyle ilişkilendirilmiş Sistem Access Control Listesi'nden (SACL) kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAuditRuleAll(SemaphoreAuditRule)

Belirtilen kuralla aynı kullanıcıyla tüm denetim kurallarını arar ve bulunursa bunları kaldırır.

RemoveAuditRuleSpecific(AuditRule)

Belirtilen denetim kuralıyla tam olarak eşleşen tüm denetim kurallarını bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nden (SACL) kaldırır.

(Devralındığı yer: CommonObjectSecurity)
RemoveAuditRuleSpecific(SemaphoreAuditRule)

Belirtilen kuralla tam olarak eşleşen bir denetim kuralı arar ve bulunursa kuralı kaldırır.

ResetAccessRule(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'ndeki (DACL) tüm erişim kurallarını kaldırır ve ardından belirtilen erişim kuralını ekler.

(Devralındığı yer: CommonObjectSecurity)
ResetAccessRule(SemaphoreAccessRule)

bağımsız olarak, AccessControlTypebelirtilen kuralla aynı kullanıcıyla tüm erişim denetimi kurallarını kaldırır ve ardından belirtilen kuralı ekler.

SetAccessRule(AccessRule)

Bu CommonObjectSecurity nesneyle ilişkili İsteğe Bağlı Access Control Listesi'nde (DACL) belirtilen erişim kuralıyla aynı güvenlik tanımlayıcısını ve niteleyiciyi içeren tüm erişim kurallarını kaldırır ve ardından belirtilen erişim kuralını ekler.

(Devralındığı yer: CommonObjectSecurity)
SetAccessRule(SemaphoreAccessRule)

Belirtilen kuralla aynı kullanıcı ve AccessControlType (izin ver veya reddet) ile tüm erişim denetimi kurallarını kaldırır ve ardından belirtilen kuralı ekler.

SetAccessRuleProtection(Boolean, Boolean)

Bu ObjectSecurity nesneyle ilişkili erişim kurallarının korumasını ayarlar veya kaldırır. Korumalı erişim kuralları, devralma yoluyla üst nesneler tarafından değiştirilemez.

(Devralındığı yer: ObjectSecurity)
SetAuditRule(AuditRule)

Bu CommonObjectSecurity nesneyle ilişkili Sistem Access Control Listesi'nde (SACL) belirtilen denetim kuralıyla aynı güvenlik tanımlayıcısını ve niteleyiciyi içeren tüm denetim kurallarını kaldırır ve ardından belirtilen denetim kuralını ekler.

(Devralındığı yer: CommonObjectSecurity)
SetAuditRule(SemaphoreAuditRule)

Değerden bağımsız AuditFlags olarak, belirtilen kuralla aynı kullanıcıya sahip tüm denetim kurallarını kaldırır ve ardından belirtilen kuralı ekler.

SetAuditRuleProtection(Boolean, Boolean)

Bu ObjectSecurity nesneyle ilişkili denetim kurallarının korumasını ayarlar veya kaldırır. Korumalı denetim kuralları, devralma yoluyla üst nesneler tarafından değiştirilemez.

(Devralındığı yer: ObjectSecurity)
SetGroup(IdentityReference)

Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısı için birincil grubu ayarlar.

(Devralındığı yer: ObjectSecurity)
SetOwner(IdentityReference)

Bu ObjectSecurity nesneyle ilişkili güvenlik tanımlayıcısının sahibini ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[])

Belirtilen bayt değerleri dizisinden bu ObjectSecurity nesne için güvenlik tanımlayıcısını ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections)

Belirtilen bayt değerleri dizisinden bu ObjectSecurity nesne için güvenlik tanımlayıcısının belirtilen bölümlerini ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorSddlForm(String)

Belirtilen Güvenlik Tanımlayıcısı Tanım Dili (SDDL) dizesinden bu ObjectSecurity nesne için güvenlik tanımlayıcısını ayarlar.

(Devralındığı yer: ObjectSecurity)
SetSecurityDescriptorSddlForm(String, AccessControlSections)

Belirtilen Güvenlik Tanımlayıcısı Tanım Dili (SDDL) dizesinden bu ObjectSecurity nesne için güvenlik tanımlayıcısının belirtilen bölümlerini ayarlar.

(Devralındığı yer: ObjectSecurity)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
WriteLock()

Bu ObjectSecurity nesneyi yazma erişimi için kilitler.

(Devralındığı yer: ObjectSecurity)
WriteUnlock()

Yazma erişimi için bu ObjectSecurity nesnenin kilidini açar.

(Devralındığı yer: ObjectSecurity)

Şunlara uygulanır

Ayrıca bkz.