Saya perlu menguji apakah pengguna dapat menulis ke folder sebelum benar-benar mencoba melakukannya.
Saya telah menerapkan metode berikut (dalam C # 2.0) yang mencoba untuk mengambil izin keamanan untuk folder menggunakan metode 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;
}
}
Ketika saya googling cara menguji akses tulis, tidak ada yang seperti ini muncul dan tampaknya sangat rumit untuk benar-benar menguji izin di Windows. Saya khawatir bahwa saya terlalu menyederhanakan hal-hal dan bahwa metode ini tidak kuat, meskipun tampaknya berhasil.
Apakah metode saya untuk menguji apakah pengguna saat ini memiliki akses tulis berfungsi dengan benar?