Question

Mon application fonctionne sur le réseau local,et l'administrateur de créer le dossier pour chaque utilisateur sur un dossier partagé avec ce code:par exemple "me1" est un utilisateur sur le réseau local.

DirectoryInfo d=new DirectoryInfo(@"\\server\Test");
DirectoryInfo di = new DirectoryInfo(@"\\server\Test\me1");
di.Create(d.GetAccessControl());
DirectorySecurity dSecurity = di.GetAccessControl();

dSecurity.AddAccessRule(new FileSystemAccessRule("everyone",
                                                 FileSystemRights.FullControl,
                                                 AccessControlType.Deny));
di.SetAccessControl(dSecurity);

désormais, chaque utilisateur ne peut pas accéder à son dossier,j'utilise ce code:

DirectoryInfo dInfo = new DirectoryInfo(@"\\Server\Test\me1");
DirectorySecurity dSecurity = dInfo.GetAccessControl();
dSecurity.AddAccessRule(new FileSystemAccessRule("everyone",
                                                 FileSystemRights.FullControl,
                                                 AccessControlType.Allow));
dInfo.SetAccessControl(dSecurity);

mais l'erreur "accès refusé" s'est produite.comment pouvez définir des autorisations pour un utilisateur spécifique??je veux dire peut-admin donner la permission à l'utilisateur quand il de créer un répertoire??merci.

Était-ce utile?

La solution

Refuser Règles de Contrôle d'Accès (ACE) sont vérifiés en premier lieu, et tout le monde est dans le Everyone groupe.Ainsi, le premier ACE va bloquer tous les accès à tout le monde, y compris vous-même en essayant de modifier les autorisations.

Généralement Refuser les règles sont sur la mauvaise voie.Mieux que d'ajouter simplement les règles d'accès permettant l'accès que vous souhaitez accorder, si il n'existe pas de permettre à des règles correspondant à une identité que l'identité obtenez un accès refusé, vous n'avez pas besoin de bloquer de manière explicite entre eux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top