我希望asp应用程序创建一个文件夹,该文件夹只能访问应用程序运行时使用的帐户(即asp帐户?)
我实际上想使用这个,但我不知道如何动态使用“Computer\CurrentAccount”。
我想获得当前的工作帐户。
谢谢。
我希望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);
从流程 Token 获取流程所有者的第二种方法,这将需要 P/Invoke。这包括一个示例:http://www.codeproject.com/KB/cs/processownersid.aspx,一旦您拥有 SID 为它创建一个 SecurityIdentifier 实例并按照上述创建 ACL。