PDA

View Full Version : دادن مجوز به پوشه ای ایجاد شده



afsharjowkar
شنبه 20 شهریور 1389, 20:58 عصر
سلام تو برنامم من یک پوشه ایجاد می کنم حالا چطور میتونم بهش مجوز بدم(برای مثال فقط خواندنی و یا .....) که کسی توی ویندوز بعدا نتونه اونا رو باز کنه و فقط برنامه بتونه پوشه رو مدیریت کنه

Saman_12
شنبه 20 شهریور 1389, 21:58 عصر
این کد سطح دسترسی پوشه رو تغییر میده.(توی این کد نمیشه بازش کرد و...)


System.IO.DirectoryInfo fld = new System.IO.DirectoryInfo("Folder Path");
System.Security.AccessControl.DirectorySecurity sec;

sec = fld.GetAccessControl();
foreach (System.Security.AccessControl.FileSystemAccessRul e rul in sec.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)))
{
sec.RemoveAccessRuleAll(rul);
}
sec.SetAccessRuleProtection(true, false);
fld.SetAccessControl(sec);

sec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule ("CREATOR OWNER", System.Security.AccessControl.FileSystemRights.Rea d, System.Security.AccessControl.AccessControlType.De ny));
sec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule ("CREATOR OWNER", System.Security.AccessControl.FileSystemRights.Rea dAndExecute, System.Security.AccessControl.AccessControlType.De ny));
sec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule ("CREATOR OWNER", System.Security.AccessControl.FileSystemRights.Rea dAttributes, System.Security.AccessControl.AccessControlType.De ny));
sec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule ("CREATOR OWNER", System.Security.AccessControl.FileSystemRights.Rea dData, System.Security.AccessControl.AccessControlType.De ny));
sec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule ("CREATOR OWNER", System.Security.AccessControl.FileSystemRights.Rea dExtendedAttributes, System.Security.AccessControl.AccessControlType.De ny));
sec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule ("CREATOR OWNER", System.Security.AccessControl.FileSystemRights.Rea dPermissions, System.Security.AccessControl.AccessControlType.De ny));
sec.AddAccessRule(new System.Security.AccessControl.FileSystemAccessRule ("CREATOR OWNER", System.Security.AccessControl.FileSystemRights.Del eteSubdirectoriesAndFiles, System.Security.AccessControl.AccessControlType.De ny));

fld.SetAccessControl(sec);