J'ai besoin de tester si un utilisateur peut écrire dans un dossier avant d'essayer de le faire.
J'ai implémenté la méthode suivante (en C # 2.0) qui tente de récupérer les autorisations de sécurité pour le dossier à l'aide de la méthode Directory.GetAccessControl () .
private bool hasWriteAccessToFolder(string folderPath)
{
try
{
// Attempt to get a list of security permissions from the folder.
// This will raise an exception if the path is read only or do not have access to view the permissions.
System.Security.AccessControl.DirectorySecurity ds = Directory.GetAccessControl(folderPath);
return true;
}
catch (UnauthorizedAccessException)
{
return false;
}
}
Lorsque je cherchais sur Google comment tester l'accès en écriture, rien de tel ne s'est produit et il m'a semblé très compliqué de tester les autorisations dans Windows. Je crains de trop simplifier les choses et que cette méthode ne soit pas robuste, même si elle semble fonctionner.
Ma méthode pour tester si l'utilisateur actuel a un accès en écriture fonctionnera-t-elle correctement?