System.IO.Directory.CreateDirectory与仅此当前用户的权限?(Sys

2019-09-16 09:58发布

我想ASP应用程序创建具有唯一的应用程序与运行的帐户访问的文件夹(即ASP的帐户?)

其实,我想用这一个 ,但我不知道如何使用“计算机\ CurrentAccount”动态。

我想当前工作的帐户。

谢谢。

Answer 1:

有创造的一个例子DirectorySecurity实例,并添加一个名为用户的ACE 这里 (但使用默认构造函数来启动一个空的ACL)。

要获得帐户的SID有两种可能性(这些需要测试):

第一种方法是依靠工艺作为目录的所有者的所有者。 这是有可能打破如果这样做模拟(在Windows身份验证例如有用于访问控制,文件系统的内容客户端的身份):

var ds = new DirectorySecurity();
var sid = new SecurityIdentifier(WellKnownSidType.CreatorOwnerSid, null)
var ace = new FileSystemAccessRule(sid,
                                   FileSystemRights.FullControl,
                                   AccessControlType.Allow);
ds.AddAccessRule(ace);

第二种方法来摆脱进程令牌流程所有者,这将需要的P / Invoke。 这包括一个例子: http://www.codeproject.com/KB/cs/processownersid.aspx ,一旦你的SID为它创建一个实例的SecurityIdentifier并按照上面创建ACL。



文章来源: System.IO.Directory.CreateDirectory with permissions for only this current user?