Ich muss testen, ob ein Benutzer in einen Ordner schreiben kann, bevor ich dies tatsächlich versuche.
Ich habe die folgende Methode (in C # 2.0) implementiert, die versucht, die Sicherheitsberechtigungen für den Ordner mithilfe der Directory.GetAccessControl () -Methode abzurufen .
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;
}
}
Als ich googelte, wie man auf Schreibzugriff testet, kam nichts dergleichen auf und es schien sehr kompliziert, Berechtigungen in Windows tatsächlich zu testen. Ich mache mir Sorgen, dass ich die Dinge zu stark vereinfache und dass diese Methode nicht robust ist, obwohl sie zu funktionieren scheint.
Funktioniert meine Methode zum Testen, ob der aktuelle Benutzer über Schreibzugriff verfügt, ordnungsgemäß?