// (c) 2006 Richard Grimes // www.grimes.demon.co.uk using System; using System.IO; using System.Security; using System.Security.Permissions; [assembly: FileIOPermission(SecurityAction.RequestOptional, Read = @"c:\SecureFolder\public_data.txt")] [assembly: FileIOPermission(SecurityAction.RequestOptional, Read = @"c:\SecureFolder\secret_data.txt")] class App { const string folder = @"C:\SecureFolder"; static void Main() { try { string str = GetString("public_data.txt"); Console.WriteLine(str); str = GetString("secret_data.txt"); Console.WriteLine(str); } catch(SecurityException e) { Console.WriteLine(e.Message); } } static string GetString(string str) { string strFile = folder + @"\" + str; StreamReader sr = new StreamReader(strFile); return sr.ReadToEnd(); } }