我正在编写一个需要创建文件夹的C#应用程序,然后为DOMAIN \ Users提供完整权限。当我尝试通过Environment.UserDomainName + @"\Users"
时,它会抛出System.Security.Principal.IdentityNotMappedException
。目前,我有这样的代码:在目录上设置整个组的访问权限
DirectoryInfo dirInfo = new DirectoryInfo(path);
DirectorySecurity dirSec = dirInfo.GetAccessControl();
// All users should have full control.
dirSec.AddAccessRule(new FileSystemAccessRule(Environment.UserDomainName + @"\Users", FileSystemRights.FullControl, AccessControlType.Allow));
dirInfo.SetAccessControl(dirSec);
我怎样才能让这个“工作”,如允许用户存储在path
目录的完全控制权?
这是一个完整的异常:
代码看起来不错。无论出于何种原因,它都找不到用户名。我在我的机器上使用了您的代码,并按预期工作了100%。也许仔细检查一下您的域\用户组是否存在?也许你正在测试的机器没有加入到域中? –
@DavidGreilach是的,它当然存在:http://i.imgur.com/7Wb84VE.png。 - 我也检查了什么'Environment.UserDomainName + @“\ Users”'返回,这一切都如预期。 – carefulnow1
目前,我只是在我的本地机器上测试它,但我打算在家用计算机上的开发完成后在网络上使用它。 – carefulnow1