PDA

View Full Version : حرفه ای: تغییر مجوزهای دسترسی به فایل



ali.rezaei7
سه شنبه 13 مهر 1389, 18:34 عصر
سلام
آیا روشی وجود داره که بتونیم مجوزهای فایلها، پوشه ها، درایو ها و ... را تغییر یا تنظیم کنیم.

علیرضا مداح
سه شنبه 13 مهر 1389, 22:41 عصر
سلام،
شما باید با کلاس System.Security.AccessControl.FileSecurity (http://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesecurity.aspx) کار کنید، مقاله ی زیر را مطالعه نمایید:
The Basics of Manipulating File Access Control Lists with C#‎‎‎‎‎ (http://www.codeguru.com/csharp/csharp/cs_webservices/security/article.php/c14315/)
،/

Saman_12
سه شنبه 13 مهر 1389, 23:02 عصر
اینم کد لازم برای این کار (این تمام مجوز ها رو روی Deny تنظیم میکنه و برای پوشه هست برای فایل یا ... هم کاری نداره فقط دوسه تا تغییر کوچو لو می خواد.) :

System.IO.DirectoryInfo fld = new System.IO.DirectoryInfo("C:\\1");
System.Security.AccessControl.DirectorySecurity sec = new System.Security.AccessControl.DirectorySecurity();

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.Ful lControl, System.Security.AccessControl.AccessControlType.De ny));
fld.SetAccessControl(sec);