Bonjour
J'essaye de lister les droits NTFS sur un dossier. Malheureusement je n'ai que Allow et Deny avec getAccessControl.
Y a t'il une autre méthode pour avoir les droits complets ? (lecture, écriture,...)
Bonjour
J'essaye de lister les droits NTFS sur un dossier. Malheureusement je n'ai que Allow et Deny avec getAccessControl.
Y a t'il une autre méthode pour avoir les droits complets ? (lecture, écriture,...)
Bonjour,
J'ai réalisé une application de gestion des droits d'accès NTFS il y a de ça quelques mois, je pense que la méthode suivante peut t'aider :
Le paramètre "account" doit correspondre à un login Windows (ex : pdupond).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public static List<String> ReturnUserRight(string account, string folderPath) { try { List<String> lstRight = new List<string>(); DirectoryInfo info = new DirectoryInfo(folderPath); DirectorySecurity security = info.GetAccessControl(AccessControlSections.Access); foreach (AuthorizationRule perm in security.GetAccessRules(true, true, typeof(NTAccount))) { string[] userChaine = perm.IdentityReference.ToString().Split('\\'); if (userChaine[userChaine.Length - 1] == account) { lstRight.Add((perm as FileSystemAccessRule).FileSystemRights + ";" + perm.InheritanceFlags.ToString() + ";" + perm.PropagationFlags.ToString()); } } return lstRight; } catch (Exception e) { throw e; } }
Et voici les usings à mettre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 using System.Security.AccessControl; using System.Security.Principal;
Merci pour la réponse il me manquais que cette partie
Code : Sélectionner tout - Visualiser dans une fenêtre à part lstRight.Add((perm as FileSystemAccessRule).FileSystemRights
Partager