-
11-07-2019 - |
题
我写代码来设置的文件夹的权限。我开发功能是
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);
}
此功能工作正常设定权限的用户。 但是,当我检查文件夹属性 - >安全,用户添加。但是,没有权限的复选框选中 打开高级对话框。在此框中我可以看到权限,这是我为用户设置。
所以我的问题是,为什么没有复选框seleced安全选项卡上,但它的存在在高级选项卡?
请帮帮我!!!!!!
解决方案
我跑进这一点。这似乎是一个服务补丁的事情。
您可以阅读我如何在 HTTP固定它:// jspot.jerryhanel.com/2009/01/08/c-filedirectory-permissions/
在短版:你必须设置一个标志,对所有的ACL为所有用户。是的...它是丑陋的。而当你添加的Service Pack 3,复选标记,再次消失。如果任何人有比这更清洁的解决方案,请让我知道。
我对这些代码在我的网站。
更新:该URL现在指向新的网站
其他提示
这可能有助于利用dInfo.GetAccessControl初始化oDirectorySecurity。 您也可以尝试调用oDirectorySecurity.SetOwner。
有时权限仅在高级显示如果没有应用,他们为校正对象。试试你的FileSystemAccessRule对象上设置继承/ Propigation标志。
不隶属于 StackOverflow