Мне нужно проверить, может ли пользователь писать в папку, прежде чем на самом деле попытаться это сделать.
Я реализовал следующий метод (в С# 2.0), который пытается получить разрешения безопасности для папки с помощью 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;
}
}
Когда я работал в Google, чтобы проверить доступ к записи, ничего подобного не получилось, и оказалось, что очень сложно фактически протестировать разрешения в Windows. Я обеспокоен тем, что я чрезмерно упрощаю вещи и что этот метод не является надежным, хотя он, похоже, работает.
Будет ли мой метод проверяться, правильно ли работает текущий доступ для записи?