dovoljenja mape c#
2 naročnika
2 naročnika
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
Tukaj je to dobro odgovorjeno
http://stackoverflow.com/questions/1410127/c-test-if-user-has-write-access-to-a-folder
pa uporabljaj
code tag