Bonjour
Le sujet ne semble pas trivial
Je voudrais ecrire une methode permettant de tester si un Directory possede les droits requis
Par exemple je voudrais m'assurer que l'utilisateur peut ecrire dans un repertoire mais aussi creer des sous repertoires
Si j'ai bien compris, je dois donc tester si le repertoire possede les droits suivant
Et si j'ai toujours bien compris il n'y a pas moyen d'utiliser un masque mais il faut faire le test en boucle dans ce genre ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 FileSystemRights.CreateDirectories; FileSystemRights.Write;
Mais personne n'a-til de meilleure methode a suggerer ou me dire si je n'ai pas bien compris quelque chose ?
Merci de votre aide
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
24
25
26
27
28
29
30
31
32
33
34
35 DirectorySecurity dirSecurity = null; try { dirSecurity = Directory.GetAccessControl(path); } catch (UnauthorizedAccessException) { return false; } var rules = dirSecurity.GetAccessRules(true, true, typeof(NTAccount)); WindowsPrincipal wp = new WindowsPrincipal(account); int R=0; foreach (FileSystemAccessRule rule in rules) { if (wp.IsInRole(rule.IdentityReference.Value)) { if ((rule.FileSystemRights & FileSystemRights.CreateDirectories) == FileSystemRights.CreateDirectories) { R++; } if ((rule.FileSystemRights & FileSystemRights.Write) == FileSystemRights.Write) { R++; } } } if (R >= 2) { return true; } return false;
Partager