gpt4 book ai didi

c# - .NET Core - 目录权限 Linux

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:10 24 4
gpt4 key购买 nike

在我的 .NET Core 单元测试项目中,我尝试创建一个文件夹,然后限制访问权限。

到目前为止,我实现了此代码的 Windows 版本:

    DirectoryInfo dirInfo = Directory.CreateDirectory(DriveManager.LogicalDrive + ":\\testDir");
DirectorySecurity dirSecurity = new DirectorySecurity(dirInfo.FullName, AccessControlSections.All);

var securityId = System.Security.Principal.WindowsIdentity.GetCurrent().User;

FileSystemAccessRule rule = new FileSystemAccessRule(securityId, FileSystemRights.ListDirectory, AccessControlType.Deny);
dirSecurity.AddAccessRule(rule);
dirInfo.SetAccessControl(dirSecurity);

显然 WindowsIdentity.GetCurrent().User 不能在 Unix 类型的操作系统上运行。我不确定其他功能是否也不兼容。

您能否提出通用解决方案(适用于 Windows 和 Unix 类型操作系统)?

在此先感谢您的支持。

最佳答案

喜欢你关心阅读here WindowsIdentity.* API 只是 Windows 功能,在其他系统上没有替代品(每种方法都会抛出 PNSE)。临时解决方案可以是 project.json 中的 scripts 部分或自编写脚本,因为此时此刻可以在 Linux 和 OSX 上的干净的 .Net 核心中获得它

关于c# - .NET Core - 目录权限 Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41599714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com