Shi*_*mmy 2 .net c# vb.net filesystems system.io.directory
我希望asp应用程序创建一个只能访问应用程序运行的帐户的文件夹(即asp帐号?)
我实际上想要使用这个,但我不知道如何动态使用"Computer\CurrentAccount".
我想获得当前的工作帐户.
谢谢.
有创造的一个例子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);
Run Code Online (Sandbox Code Playgroud)
第二种方法是从进程令牌中获取进程所有者,这将需要P/Invoke.这包括一个例子:http://www.codeproject.com/KB/cs/processownersid.aspx,一旦你有SID为它创建一个SecurityIdentifier实例,并按照上面的步骤创建ACL.