vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Wie stellst du die Sicherheitseinstellungen ein? TEIL2 
Autor: Mike1984
Datum: 04.10.05 20:21

Das wäre dann der Rest...
        Private Sub ApplyPermissions(ByRef path As String, ByRef usrname As _
          String, ByRef permission As Object)
            Me.adsSecurity = New ADsSecurity
            Me.securityDescriptor = Me.adsSecurity.GetSecurityDescriptor( _
              "FILE://" & path)
            Me.discretionaryAcl = Me.securityDescriptor.DiscretionaryAcl
            Me.adsSid = New ADsSID
            Me.adsSid.SetAs(ADS_SID_SAM, CStr(usrname))
            Me.adsSidHex = Me.adsSid.GetAs(ADS_SID_SDDL)
            '----Add a new ACE so User has Full Control on Files.
            Me.accessControlEntryFiles = New AccessControlEntry
            Me.accessControlEntryFiles.Trustee = Me.adsSidHex
            Me.accessControlEntryFiles.AccessMask = permission
            Me.accessControlEntryFiles.AceType = ADS_ACETYPE_ACCESS_ALLOWED
            Me.accessControlEntryFiles.AceFlags = ADS_ACEFLAG_INHERIT_ACE Or _
              ADS_ACEFLAG_INHERIT_ONLY_ACE Or 1
            Me.discretionaryAcl.AddAce(Me.accessControlEntryFiles)
            '----Add a new ACE so User has Full Control on Folders.
            Me.accessControlEntryFolders = New AccessControlEntry
            Me.accessControlEntryFolders.Trustee = Me.adsSidHex
            Me.accessControlEntryFolders.AccessMask = permission
            Me.accessControlEntryFolders.AceType = ADS_ACETYPE_ACCESS_ALLOWED
            Me.accessControlEntryFolders.AceFlags = ADS_ACEFLAG_INHERIT_ACE Or 1
            Me.discretionaryAcl.AddAce(Me.accessControlEntryFolders)
 
            Me.securityDescriptor.DiscretionaryAcl = Me.discretionaryAcl
            Me.adsSecurity.SetSecurityDescriptor(Me.securityDescriptor)
        End Sub
 
        Private Sub RemoveInheritedAce(ByVal userPath As String)
            Try
                Dim tempAdsSecurity As ADsSecurity = New ADsSecurity
                Dim tempSecurityDescriptor As SecurityDescriptor = _
                  tempAdsSecurity.GetSecurityDescriptor("FILE://" & userPath)
                Dim tempDiscretionaryAcl As Object
 
                tempDiscretionaryAcl = tempSecurityDescriptor.DiscretionaryAcl
                For Each tempAccessControlEntry As AccessControlEntry In _
                  tempDiscretionaryAcl
                    If tempAccessControlEntry.Trustee = "PTS\Schüler" OrElse _
                    tempAccessControlEntry.Trustee = "jeder" Then
                        tempDiscretionaryAcl.RemoveAce(tempAccessControlEntry)
                    End If
                Next
                tempSecurityDescriptor.DiscretionaryAcl = tempDiscretionaryAcl
                tempAdsSecurity.SetSecurityDescriptor(tempSecurityDescriptor)
            Catch ex As Exception
                MsgBox(ex.Message & " inherited ace not removed")
            End Try
        End Sub
#End Region
 
    End Class
End Namespace
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ordnerfreigabe -- Berechtigungen2.976Mike198420.09.05 18:20
Wie stellst du die Sicherheitseinstellungen ein?2.405darkman20326.09.05 13:44
Re: Wie stellst du die Sicherheitseinstellungen ein? TEIL12.446Mike198404.10.05 20:20
Re: Wie stellst du die Sicherheitseinstellungen ein? TEIL22.529Mike198404.10.05 20:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel