检查我的应用程序是否有读取进程信息和读写文件和目录的权限
本文关键字:文件 读写 权限 信息 应用程序 我的 是否 取进程 读取 检查 | 更新日期: 2023-09-27 18:10:16
如果我有权限获取进程列表,杀死进程,获取目录,获取目录中的文件,读取和写入文件等,如何检查我的c#应用程序?谢谢!
如果您有权限可以执行操作而没有问题,如果没有权限,您可以捕获异常并处理它(UnauthorizedAccessException
等)
在。net中有两种方法可以做到。
System.Security.Permissions命名空间有你需要的属性和类。您可以使用属性并编写声明性代码,或者将类与命令式代码一起使用。
作为一个例子,对于FileIO,您可以这样做
声明:通常你注释了一个方法,并且基于SecurityAction抛出异常,如果当前或调用代码没有上述权限
[FileIOPermissionAttribute(SecurityAction.PermitOnly,
ViewAndModify = "C:''example''sample.txt")]
命令式:在这里你可以编程检查权限
FileIOPermission f = new FileIOPermission(PermissionState.None);
f.AllLocalFiles = FileIOPermissionAccess.Read;
try
{
f.Demand();
}
catch (SecurityException s)
{
Console.WriteLine(s.Message);
}
命令式或声明式,您的代码必须对异常作出反应。SecurityAction enum解释了它们是如何工作的,有些检查当前代码是否有权限,有些也检查调用代码。该枚举具有相同的对应方法(Deny,Assert等),可在命令式代码中使用。
最后,System.Security.Permissions名称空间没有任何关于进程的内容,所以我认为您无法在这里真正检查权限。尽管它是针对。net 1.1的,但这篇安全性文章还是非常相关的。(虽然没有彩色代码=(