SystemException sur SecurityIdentifier
Bonjour,
J'ai une fonction qui me permet d'ajouter un NTAccount dans une AcessControlList (ACL).
La voici :
Code:
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:
1 2
|
IdentityReference id = acct.Translate(typeof(SecurityIdentifier)); |
Avec message d'erreur :
Citation:
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.