c# - 无法翻译部分或所有身份引用 c#

标签 c#

我试图授予用户访问该文件夹的权限,但是当我尝试运行该程序时,出现错误消息:无法翻译部分或所有标识引用

这是我使用的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Security;
using System.Security.AccessControl;
using System.Security.Principal;
using System.Management;
using System.Management.Instrumentation;

namespace FolderLock
{
    public partial class Lock : Form
    {
        public Lock()
        {
            InitializeComponent();

            SetAccess();
        }

        private void Lock_Load(object sender, EventArgs e)
        {

        }

        public void SetAccess()
        {
            DirectoryInfo myDirectoryInfo = new DirectoryInfo("C:/Users/Trov/Desktop/Test");

            DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();

            string User = System.Environment.UserDomainName + "\\" + "92111092";

            myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(User, FileSystemRights.Read, AccessControlType.Deny));

            myDirectoryInfo.SetAccessControl(myDirectorySecurity);
        }

    }
}

最佳答案

我找到了一种方法,而不是试图允许或拒绝特定用户访问文件夹,我只是创建一个众所周知的经过身份验证的用户来拒绝或允许它访问文件夹。

代码如下:

public void SetAccess()
        {
            DirectoryInfo myDirectoryInfo = new DirectoryInfo(@"C:/Users/Trov/Desktop/Test");

            var sid = new SecurityIdentifier(WellKnownSidType.AuthenticatedUserSid, null); 

            DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();

            myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(sid, FileSystemRights.Read, AccessControlType.Deny));

            myDirectoryInfo.SetAccessControl(myDirectorySecurity);

            this.Hide();

            this.Close();
        }

谢谢

关于c# - 无法翻译部分或所有身份引用 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26892490/

相关文章:

c# - 命名空间 'Numerics' 中不存在类型或命名空间名称 'System'

c# - 为什么我的 C# 变量在 Jquery 中返回 null?

c# - 根据子节点对整个 xdocument 进行排序

c# - 按组填写缺失日期

c# - 访问远程桌面

c# - wpf 数据网格 header 中的访问复选框

c# - 如何在 NServiceBus 中实现访问控制处理程序

c# - 我不能在 LinkBut​​ton 中使用 Eval 吗?

c# - 创建的性能计数器不可见

c# - 在 C# 中获取本地 Windows 用户登录 session 时间戳