Tag: cas

获取.NET应用程序的当前/活动安全区域?

我有一个行为奇怪的应用程序,只是为了validation,我想看看它当前正在运行的安全区域。 我找到了System.Security.SecurityZone枚举,但似乎无法找到任何会返回我正在运行的内容。 有人有任何提示吗? 基本上我想知道我的应用程序是在MyComputer,Intranet,Internet,Untrusted,Trusted等运行。 编辑:这是我编写的用于查找此代码的次要测试应用程序,感谢@blowdart 。 using System; using System.Reflection; namespace zone_check { class Program { static void Main(string[] args) { Console.WriteLine(“.NET version: ” + Environment.Version); foreach (Object ev in Assembly.GetExecutingAssembly().Evidence) { if (ev is System.Security.Policy.Zone) { System.Security.Policy.Zone zone = (System.Security.Policy.Zone)ev; Console.WriteLine(“Security zone: ” + zone.SecurityZone); break; } } } } }

写入Program Files文件夹

我的应用程序包括一个用于更新应用程序的自更新程序可执行文件。 更新程序执行的第一个步骤之一是检查它是否具有对应用程序文件夹的写入权限 IPermission perm = new FileIOPermission(FileIOPermissionAccess.AllAccess, _localApplicationCodebase); if (!SecurityManager.IsGranted(perm)) { OnProgressChanged(“Security Permission Not Granted \n The updater does not have read/write access to the application’s files (” + _localApplicationCodebase + “)”,MessageTypes.Error); return false; } OnProgressChanged(“Updater have read/write access to local application files at ” + _localApplicationCodebase); return true; IPermission perm = new FileIOPermission(FileIOPermissionAccess.AllAccess, _localApplicationCodebase); […]