问题描述
假设我以abc.txt
的身份创建了文件User1
我将该文件的所有权授予User2
,然后在“安全性”选项卡中,我将deny
的读/写/执行权限授予User1
现在我想以编程方式更改它,因此User1
将成为所有者并再次具有读/写/执行权限(我以User1
的身份运行应用!)
我正在以Administrator
权限运行该应用程序
问题是我什至无法做File.GetAccessControl(path)
,因为
System.UnauthorizedAccessException:尝试执行未经授权的操作。
但是,当我通过GUI单击它->右键->属性->安全->高级
单击继续以尝试以管理员权限执行该操作
还有
我可以通过GUI轻松完成
但是,我应该如何以编程方式重新获得权限?
这是我当前的代码:
//Get Currently Applied Access Control
var fileSecurity = File.GetAccessControl(file.FullName);
//Update it,Grant Current User Full Control
var cu = WindowsIdentity.GetCurrent().User;
fileSecurity.Setowner(cu);
fileSecurity.SetAccessRule(new FileSystemAccessRule(cu,FileSystemRights.FullControl,AccessControlType.Allow));
//Update the Access Control on the File
File.SetAccessControl(file.FullName,fileSecurity);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)