2

我希望asp应用程序创建一个文件夹,该文件夹只能访问应用程序运行时使用的帐户(即asp帐户?)

我实际上想使用这个,但我不知道如何动态使用“Computer\CurrentAccount”。

我想获得当前的工作帐户。

谢谢。

4

1 回答 1

5

这里有一个为命名用户创建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);

从流程 Token 获取流程所有者的第二种方法,这将需要 P/Invoke。这包括一个示例:http://www.codeproject.com/KB/cs/processownersid.aspx,一旦您拥有 SID 为它创建一个 SecurityIdentifier 实例并按照上述创建 ACL。

于 2009-06-17T12:34:45.137 回答