C# 目录/文件权限问题

C# 目录/文件权限问题,c#,.net,.net-2.0,permissions,file-permissions,C#,.net,.net 2.0,Permissions,File Permissions,我编写了设置文件夹权限的代码。我开发的功能是 public void SetPermission(string user,FileSystemRights rights) { DirectoryInfo dInfo = new DirectoryInfo(folderPath); DirectorySecurity oDirectorySecurity = new DirectorySecurity(); oDirectorySecurity.AddAccessRule

我编写了设置文件夹权限的代码。我开发的功能是

public void SetPermission(string user,FileSystemRights rights)
{
    DirectoryInfo dInfo = new DirectoryInfo(folderPath);
    DirectorySecurity oDirectorySecurity = new DirectorySecurity();

    oDirectorySecurity.AddAccessRule(new FileSystemAccessRule(user, rights, AccessControlType.Allow));
    dInfo.SetAccessControl(oDirectorySecurity);
}
此函数在为用户设置权限时工作正常。 但当我检查文件夹属性->安全性时,用户添加了。但未签入任何权限复选框 打开高级对话框。在这个框中,我可以看到我为用户设置的权限

所以我的问题是,为什么在“安全”选项卡上并没有选中复选框,但在“高级”选项卡上却有复选框


请帮帮我

使用dInfo.GetAccessControl初始化oDirectorySecurity可能会有所帮助。 您也可以尝试调用oDirectorySecurity.SetOwner


有时,权限仅在未应用于正确对象的情况下以高级形式显示。尝试在FileSystemAccessRule对象上设置继承/转移标志。

使用dInfo.GetAccessControl初始化oDirectorySecurity可能会有所帮助。 您也可以尝试调用oDirectorySecurity.SetOwner


有时,权限仅在未应用于正确对象的情况下以高级形式显示。尝试在FileSystemAccessRule对象上设置继承/转移标志。

我也遇到了这个问题。这似乎是一个服务补丁的事情

你可以看看我是怎么把它修好的

简短版本:您必须为所有用户的所有ACL设置一个标志。对很难看。当您添加Service Pack 3时,复选标记再次消失。如果有人有比这更干净的解决方案,请告诉我

我在我的网站上有这方面的代码


更新:URL现在指向新站点。

我也遇到了这个问题。这似乎是一个服务补丁的事情

你可以看看我是怎么把它修好的

简短版本:您必须为所有用户的所有ACL设置一个标志。对很难看。当您添加Service Pack 3时,复选标记再次消失。如果有人有比这更干净的解决方案,请告诉我

我在我的网站上有这方面的代码


更新:URL现在指向新站点。

我已经修复了链接。很抱歉,我已经修复了链接。很抱歉。