Devo verificare se un utente può scrivere in una cartella prima di tentare effettivamente di farlo.
Ho implementato il seguente metodo (in C # 2.0) che tenta di recuperare le autorizzazioni di sicurezza per la cartella utilizzando il metodo 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;
}
}
Quando cercavo su Google come testare l'accesso in scrittura non è emerso nulla di simile e mi è sembrato molto complicato testare le autorizzazioni in Windows. Temo di semplificare eccessivamente le cose e che questo metodo non è solido, anche se sembra funzionare.
Il mio metodo per verificare se l'utente corrente ha accesso in scrittura funzionerà correttamente?