如何正确判断文件的用户文件系统权限?

本文关键字:文件系统 权限 用户 何正确 判断 文件 | 更新日期: 2023-09-27 18:14:05

我目前正在编写一个应用程序,需要检查当前用户对Windows文件系统中给定文件路径的文件的权限。该应用程序是用c# . net 4.0编写的。我相信我"在正确的领域",但我需要帮助"开车回家"。这个问题是正确的:在c#中迭代windows文件系统中文件的权限,但更关心多个用户——我关心的是当前用户。

到目前为止我写的是:

FileSecurity fsObj = file.GetAccessControl(AccessControlSections.Access);
foreach (FileSystemAccessRule fsar in fsObj.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)))
{
    FileSystemRights fsr = fsar.FileSystemRights;
    // examine current fsr for permissions...
}

我的目标是确定用户是否对文件具有写访问权限。

如何正确判断文件的用户文件系统权限?

我相信可以这样做(未经测试):

if ((FileSystemRights.Write & fsar.FileSystemRights) != FileSystemRights.Write) 
    return false;
return true;