Modify File Permissions

הפעם נראה כיצד בקלות ניתן לשנות הרשאות של קובץ דרך הקוד. השימוש הוא די קל וברור. אנו נשתמש במחלקה FileSecurity.

FileSecurity fs = File.GetAccessControl(this.filename);

אנו בעצם מושכים את המידע עבור הקובץ שאנו רוצים. כעת אנו יכולים או לבדוק את ההרשאות דרך פונקציות שונות במחלקה הזאת, או שניתן לשנות אותן. כדי לשנות נוסיף חוק חדש שאוסר על כולם לקרוא מהקובץ

FileSystemAccessRule ar = new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Deny);

המחלקה זאת מקבלת את שם הקבוצה שעליה יחול הכלל - EVERYONE, את סוג הגישה לקובץ - FULLCONTROL, והאם להרשות/לאסור - DENY

נוסיף את הכלל החדש לרשימת הכללים של הקובץ

fs.AddAccessRule(ar);

כעת רק נשאר לשמור את הכלל החדש

File.SetAccessControl(this.filename, fs);

והתוצאה

Access Denied

כעת כדי להסיר את הכלל שעשינו נבצע את אותו התהליך, רק הפוך

FileSecurity fs = File.GetAccessControl(this.filename);
FileSystemAccessRule ar = new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Deny);
fs.RemoveAccessRule(ar );
File.SetAccessControl(this.filename, fs);

שימו לב שבנינו שוב את הכלל הזה שאוסר גישה לקובץ, רק הפעם השתמשנו בפונקציה RemoveAccessRule כדי להוריד אותו מהקובץ

להורדת פרוייקט דוגמה

טוען נתונים...
אהבתם?
המליצו לאחרים!

נהניתם? בעיות? הערות?
אני רוצה לשמוע!
rss feed