目录/文件权限问题

时间:2008-11-26 11:48:23

标签: 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(new FileSystemAccessRule(user, rights, AccessControlType.Allow));
    dInfo.SetAccessControl(oDirectorySecurity);
}

此功能可以很好地为用户设置权限。 但是当我检查文件夹属性 - >安全性,用户添加。但是没有选中复选框的权限 打开“高级”对话框。在此框中,我可以看到为用户设置的权限。

所以我的问题是为什么安全选项卡上没有选中复选框,但它是否在高级选项卡中?

请帮帮我!!!!!!

2 个答案:

答案 0 :(得分:1)

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

您可以阅读我在http://jspot.jerryhanel.com/2009/01/08/c-filedirectory-permissions/

修复的方式

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

我的网站上有代码。

更新:网址现在指向新网站。

答案 1 :(得分:0)

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

如果未将权限应用于更正对象,则有时权限仅显示在高级中。尝试在FileSystemAccessRule对象上设置继承/提示标志。

相关问题