首先需要添加引用

using System.Security.AccessControl;

以下为具体代码,其中fileServerPath为需要判断的文件路径

 #region Authority judgment
            DirectorySecurity fileAcl = Directory.GetAccessControl(fileServerPath);
            var rules = fileAcl.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount)).OfType<FileSystemAccessRule>().ToList();
            var currentUser = Path.Combine(Environment.UserDomainName, Environment.UserName);
            bool permission = false;
            foreach (var rule in rules)
            {
                if (rule.IdentityReference.ToString() == currentUser) permission = true;
            }
            PublicMethod.OutputParameterWriteToLog(MethodBase.GetCurrentMethod().Name, string.Format("Current user [{0}] [{1}] access to file path [{2}]", currentUser, (permission ? "have" : "does not have"), fileServerPath));
#endregion
本文至此结束
最后修改:2023 年 08 月 31 日
如果觉得我的文章对你有用,请随意赞赏