无法在新目录上检查“包含可inheritance的权限”

无法在新目录上检查“包含可inheritance的权限”,第1张

概述无法在新目录上检查包含可inheritance的权限

我试图创build新的目录并以编程方式设置权限。 我已经能够创build目录,为单个用户和组应用权限,并更新大多数inheritance和传播设置。 但是,我无法使用代码来检查在窗口GUI界面(见下面)中find的包含此对象的父项的可inheritance权限 。

我试着使用替代值的inheritance和Propagation标志,以及SetAccessRuleProtection参数,但我似乎无法find任何排列的作品。

代码示例:

using System.Security.AccessControl; //... string dir = @"C:MyTestFolder"; DirectorySecurity dirsec = new DirectorySecurity(); dirsec.AddAccessRule( new fileSystemAccessRule(@"contoso.commyuser",fileSystemRights.FullControl,inheritanceFlags.Containerinherit | inheritanceFlags.Objectinherit,PropagationFlags.None,AccessControlType.Allow)); dirsec.SetAccessRuleProtection(false,true); Directory.CreateDirectory(dir,dirsec);

不知道它是否相关,但我用它来为用户创build主目录,因此计划是让用户拥有修改权限,并inheritance或添加具有完全权限的SYstem和administrators本地用户/组。

Clickonce和postbackevent

运行WPF程序时防止windows工作站(桌面)locking

保存到Excel文件导致在C#窗口中的错误

将批处理shell脚本输出读入C#.Net程序

如何deBUGging挂起的WPF应用程序?

我已经从StackOverflow尝试了很多 其他的 例子 ,但似乎没有得到那个讨厌的盒子。 有任何想法吗?

编辑:这是我所指的checkBox。 请注意,这些不是我特别的截图,只是示范。

此图像显示第二个窗口中的灰色checkBox以及第三个窗口中的可访问checkBox。 在我的情况下,当我使用上面的代码创build文件夹(并使用SetAccessRuleProtection或inheritance and Propagation标志的参数的任何变体时,这两个框都未选中。

我的目的是在创build目录时检查这些GUIcheckBox(并因此将其相应的权限设置在底层),以便它看起来与图像类似。

高精度的睡眠/等待.net

使用其IP地址读取远程计算机上的registry – OpenRemoteBaseKey的奇怪行为

桌面程序在Win 7中运行,但不在Win 8中运行

如何search列表的距离低于F到P的项目,而不search整个列表?

处理用TrayIcon的ShowBalloonTip()显示的气球提示上的点击

看起来这一切都归结为 *** 作的顺序。 看来,如果我通过提供DirectorySecurity创建DirectorySecurity ,它将创建文件夹权限被我提供的内容完全覆盖的文件夹。 而且,由于某种原因,如果我调用SetAccessRuleProtection来设置文件夹在创建期间提供的DirectorySecurity的可继承权限,则不需要。

但是,如果我首先创建文件夹而不提供任何权限信息,则默认情况下,该框将被创建,然后我可以根据需要添加我的AccessRule:

using System.Security.AccessControl; //... string dir = @"C:MyTestFolder"; //If you update and add the access rules here,it doesn't work Directory.CreateDirectory(dir); //Now that the folder has been created... DirectorySecurity dirsec = Directory.GetAccessControl(dir); dirsec.AddAccessRule( new fileSystemAccessRule(@"contoso.commyuser",AccessControlType.Allow)); //this isn't really necessary at this point,but wouldn't hurt: //dirsec.SetAccessRuleProtection(false,true); Directory.SetAccessControl(dir,dirsec);

我不知道为什么要按照这个特定的顺序来完成这个任务,但是如果有人有了解,我很想听听为什么。 无论如何,这使我现在工作没有问题。

总结

以上是内存溢出为你收集整理的无法在新目录上检查“包含可inheritance的权限”全部内容,希望文章能够帮你解决无法在新目录上检查“包含可inheritance的权限”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1278877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存