ภาพรวม
คลาส FileIOPermission (namespace System.Security.Permissions) ใช้ควบคุม สิทธิ์การเข้าถึงไฟล์และโฟลเดอร์ ใน .NET Framework (Code Access Security - CAS)
คุณสมบัติหลัก
| คุณสมบัติ | คำอธิบาย |
AllFiles | สิทธิ์เข้าถึงไฟล์ทั้งหมด |
AllLocalFiles | สิทธิ์เข้าถึงไฟล์โลคัลทั้งหมด |
เมธอดหลัก
| เมธอด | คำอธิบาย |
AddPathList(access, path) | เพิ่มเส้นทางไฟล์/โฟลเดอร์ที่อนุญาต |
Copy() | สร้างสำเนา permission |
GetType() | ดึงชนิดของ instance |
ToXml() | สร้าง XML encoding ของ permission |
Demand() | บังคับตรวจสอบสิทธิ์ โยน SecurityException หากไม่มี |
ตัวอย่างโค้ด
using System;
using System.IO;
using System.Security.Permissions;
using System.Security;
public class Demo
{
public static void Main()
{
FileIOPermission file = new FileIOPermission(PermissionState.None);
file.AllLocalFiles = FileIOPermissionAccess.Read;
try
{
Console.WriteLine("Demands permission to read files...");
file.Demand();
}
catch (SecurityException s)
{
Console.WriteLine(s.Message);
}
}
}
ข้อสังเกตสำคัญ
- CAS (Code Access Security) ถูก Deprecated ใน .NET Core / .NET 5+ - ไม่ใช้งานได้ใน runtime ใหม่
- ใน .NET Framework เต็มรูปแบบ ยังทำงานได้ แต่ต้องการการตั้งค่า Security Policy
- สำหรับแอปพลิเคชันสมัยใหม่ ใช้ OS-level permissions (ACLs, file system permissions) แทน
- คลาสนี้อยู่ใน
System.Security.Permissions ซึ่งต้อง reference assembly เพิ่มใน .NET Core