Csharp/C Sharp/Security/FileIOPermissionAccess — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 18:31, 26 мая 2010
FileIOPermissionAccess.AllAccess
<source lang="csharp"> using System; using System.Collections.Generic; using System.Text; using System.Security; using System.Security.Permissions; class Program {
static void Main(string[] args) { CodeAccessPermission permissionA = new FileIOPermission(FileIOPermissionAccess.AllAccess, @"C:\"); CodeAccessPermission permissionB = new FileIOPermission(FileIOPermissionAccess.Read, @"C:\temp"); if (permissionB.IsSubsetOf(permissionA)) { Console.WriteLine("PermissionB is a subset of PermissionA"); } else { Console.WriteLine("PermissionB is NOT a subset of PermissionA"); } }
}
</source>
FileIOPermissionAccess.Append
<source lang="csharp"> using System; using System.Collections.Generic; using System.Text; using System.Security; using System.Security.Permissions; using System.IO; class Program {
static void Main(string[] args) { CodeAccessPermission permission = new FileIOPermission(FileIOPermissionAccess.Append,@"C:\audit.txt"); permission.Deny(); AuditClass.Save("some data to audit"); CodeAccessPermission.RevertDeny(); }
} class AuditClass {
public static void Save(string value) { try { FileIOPermission permission = new FileIOPermission(FileIOPermissionAccess.Append,@"C:\audit.txt"); permission.Assert(); FileStream stream = new FileStream(@"C:\audit.txt",FileMode.Append, FileAccess.Write); CodeAccessPermission.RevertAssert(); Console.WriteLine("Data written to audit file"); } catch { Console.WriteLine("Failed to write data to audit file"); } }
}
</source>