J'écris une application pour gérer l'accès des utilisateurs aux fichiers. La version courte d'une très longue histoire est que je dois utiliser le répertoire et les privilèges de fichiers pour le faire. Pas de système de gestion de documents pour notre PDG bon marché ...Autorisations de fichier/répertoire C#
Quoi qu'il en soit ... J'ai tout fonctionné sauf dans le cas où l'utilisateur peut voir quels fichiers sont dans le répertoire mais ne voient pas réellement le contenu du fichier. (Il peut y avoir des données de ressources humaines sensibles dans les fichiers.)
J'ai essayé FileSystemRights.ListDirectory, mais cela semble (dispense de la documentation MS) définir ReadData à true aussi. J'éteins ReadData (la capacité de lire les fichiers) et je n'ai soudainement plus accès au répertoire. Les deux semblent liés.
Avez-vous des idées sur les autorisations à définir pour atteindre cet objectif?
Mon code actuel est:
SetSecurity(pth, usr, FileSystemRights.ListDirectory, AccessControlType.Allow);
...
public void SetSecurity(string dirName, string account,
FileSystemRights rights, AccessControlType controlType)
{
// Get a FileSecurity object that represents the
// current security settings.
DirectorySecurity dSecurity = Directory.GetAccessControl(dirName);
dSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));
// Set the new access settings.
Directory.SetAccessControl(dirName, dSecurity);
}
Merci.
--Jerry
Oui. Les fichiers héritent du dossier. Pourtant, un autre «PDG refuse d'acheter une véritable solution de gestion de documents» que nous devons avoir mis en place. – Jerry
Après un test sans héritage sur un dossier particulier, vous avez raison. Vous pouvez activer le dossier, puis désactiver le fichier lui-même et cela fonctionne comme vous le souhaitez ... mais pour d'autres raisons, ce n'est pas une option pour nous. – Jerry