Bonjour,
J'ai une fonction qui me permet d'ajouter un NTAccount dans une AcessControlList (ACL).
La voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
            DirectoryInfo dInfo = new DirectoryInfo(_path);
            DirectorySecurity dSecurity = dInfo.GetAccessControl();
            //Get the account
            NTAccount acct = new NTAccount(userName);
            IdentityReference id = acct.Translate(typeof(SecurityIdentifier));
            //Add write access to the directory
            FileSystemAccessRule rule = new FileSystemAccessRule(acct, rights, AccessControlType.Allow);
            dSecurity.AddAccessRuleAll(rule);
            //Apply the changes
            dInfo.SetAccessControl(dSecurity);
J'ai une exception levée type SystemException sur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
IdentityReference id = acct.Translate(typeof(SecurityIdentifier));
Avec message d'erreur :
La relation d'approbation entre le domaine principal et le domaine approuvé a échoué.
J'ai entendu parlé des opérations de Marshalling sur le forum, et j'ai l'impression qu'il y aurait un problème de conversion (managée, non-managée, aucune idée).

Bref après avoir posté 2 sujets à ce propos j'avoue que je me sens vaincu
Si quelqu'un aurait une idée, un conseil, une proposition, je lui serais entièrement reconnaissant étant donné mon désespoir.
Merci.