dovoljenja mape c#

Delam en program pri katerem uporabnik shrani datoteko in morm prevert če ma uporabnik pravice za pisanje v tej mapi. A kdo ve kako to nardim?

Sma najdu tole, sm ne dela, da zmeri true:
string directoryPath = "C:\XYZ"; //folderBrowserDialog.SelectedPath;
bool isWriteAccess = false;
try
{
AuthorizationRuleCollection collection = Directory.GetAccessControl(directoryPath).GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
foreach (FileSystemAccessRule rule in collection)
{
if (rule.AccessControlType == AccessControlType.Allow)
{
isWriteAccess = true;
break;
}
}
}
catch (UnauthorizedAccessException ex)
{
isWriteAccess = false;
}
catch (Exception ex)
{
isWriteAccess = false;
}
if (!isWriteAccess)
{
//handle notifications
}

Če datoteko ustvarm tm kjer nimam pravic ne dobim nobenih exceptions, pa bi mogu dobit UnauthorizedAccessException vrjetn.
Če takoj za tem preverm če datoteka obstaja mi pa vrne true , pa pogledam v mapo pa datoteke ni.

A ma kdo kkšno idejo kako nej rešm ta problem?

Lp

2 odgovora

To sm vidu sm mi ne dela, mi zmeri vrne da ma pravice.
Bom drugič uporabu code tag, zdej nism vedu za to.
Mi je pa zdej začel metat exception tm kjer nimam pravic da ustvarm datoteko. Ne vem kva mu ni blo prejt jasn.

1