Как получить расширенное разрешение каталога для конкретного пользователя?
Как получить расширенное разрешение каталога для конкретного пользователя?
Полный контроль
Траверс
ReadData
ReadAttributes
ReadExtendedAttributes
функция CreateFile
CreateDirectories
WriteAttributes
WriteExtendedAttributes
DeleteSubdirectoriesAndFiles
Удалить
ReadPermissions
ChangePermissions
TakeOwnership
Спасибо.
Что я уже пробовал:
Это код после обновления(применено решение)
Dim hasAccess As Boolean = False Dim acc As NTAccount = New NTAccount(lblPrincipal.Text) Dim secId As SecurityIdentifier = TryCast(acc.Translate(GetType(SecurityIdentifier)), SecurityIdentifier) Dim dirSec As DirectorySecurity = Directory.GetAccessControl(lblFolderPath.Text) Dim authRules As AuthorizationRuleCollection = dirSec.GetAccessRules(True, True, GetType(SecurityIdentifier)) For Each ar As FileSystemAccessRule In authRules If secId.CompareTo(TryCast(ar.IdentityReference, SecurityIdentifier)) = 0 Then Dim fileSystemRights = ar.FileSystemRights Console.WriteLine(fileSystemRights) If fileSystemRights.HasFlag(FileSystemRights.FullControl) Then chkFull.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.Traverse) Then chkTraverse.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.ReadData) Then chkReadData.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.ReadAttributes) Then chkReadAttributes.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.ReadExtendedAttributes) Then chkReadExtendedAttributes.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.CreateFiles) Then chkCreateFiles.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.CreateDirectories) Then chkCreateFolders.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.WriteAttributes) Then chkWriteAttributes.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.WriteExtendedAttributes) Then chkWriteExtendedAttributes.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.DeleteSubdirectoriesAndFiles) Then chkDeleteSubfolders.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.Delete) Then chkDelete.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.ReadPermissions) Then chkReadPermission.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.ChangePermissions) Then chkChangePermission.Checked = True End If If fileSystemRights.HasFlag(FileSystemRights.TakeOwnership) Then chkTakeOwnership.Checked = True End If End If Next