Estoy escribiendo una aplicación para gestionar el acceso de los usuarios a los archivos. La versión corta de una historia muy larga es que tengo que usar el directorio y los privilegios de archivos para hacerlo. Ningún sistema de gestión de documentos para nuestro CEO barato ...C# File/Directory Permissions
En fin ... tengo todo funcionando, excepto el caso en que el usuario puede ver qué archivos están en el directorio, pero en realidad no ver el contenido del archivo. (Puede haber datos sensibles de recursos humanos en los archivos.)
Intenté FileSystemRights.ListDirectory, pero eso parece (a pesar de la documentación de MS) establecer ReadData en true también. Apago ReadData (la capacidad de leer los archivos) y de repente no tengo acceso al directorio nuevamente. Los dos aparecen vinculados.
¿Alguna idea para el cual el permiso (s) para ajustar para lograr esto?
Mi código actual es:
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);
}
Gracias.
--Jerry
Sí. Los archivos ESTÁN heredando de la carpeta. Otro problema más: "CEO se niega a comprar una solución real de administración de documentos" que tenemos que haber establecido. – Jerry
Después de probar sin herencia en una carpeta en particular, tiene razón. Puede habilitar la carpeta, luego deshabilitar el archivo y funciona como desee ... pero por otras razones, esta no es una opción para nosotros. – Jerry