winforms 不确定如何使用SetAccessControl函数

ukdjmx9f  于 2023-01-31  发布在  其他
关注(0)|答案(1)|浏览(98)

我试着做一个简单的安全应用程序,当从文件资源管理器提供文件夹路径时,它会锁定我的文件夹。我用C#做了一个windows窗体应用程序。我已经成功地得到了GetAccessControl();函数才能使用此行代码工作。

System.IO.DirectoryInfo directoryInfo = new DirectoryInfo(path);
System.Security.AccessControl.DirectorySecurity s1 = directoryInfo.GetAccessControl();

我不确定如何使用SetAccessControl()来完成此操作;函数,因为它需要2个参数才能工作。我试着实现下面的代码:

System.Security.AccessControl.DirectorySecurity s3 = directoryInfo.SetAccessControl(path,s1);

我得到一个错误,说明:“SetAccessControl”的重载方法没有采用2个参数
我很清楚为什么这不起作用,但我不知道如何解决它。如果有人愿意帮助,这将是非常感谢。

knpiaxh1

knpiaxh11#

净收入5+:

System.IO.DirectoryInfo directoryInfo = new DirectoryInfo(path);
System.Security.AccessControl.DirectorySecurity s1 = directoryInfo.GetAccessControl();
directoryInfo.SetAccessControl(s1);

或(更改现有目录的安全属性):

FileSystemAclExtensions.SetAccessControl(s1, s2);

在Net 4.x中:

Directory.SetAccessControl(path, s1);

文件:
https://learn.microsoft.com/en-us/dotnet/api/system.io.directory.setaccesscontrol?view=netframework-4.8.1
https://learn.microsoft.com/en-us/dotnet/api/system.io.filesystemaclextensions.setaccesscontrol?view=net-7.0

相关问题