1

请考虑这种情况:

我有一个托管在IIS 7.0. 几乎每个IIS设置都是默认设置。我有一个用于上传文件的文件夹,ASP.Net用户对其具有写访问权限。当前IIS经理取消此写访问权限,他想添加一个本地用户Windows Server,该用户可以对该文件夹具有写访问权限。现在我的问题是如何在 asp.net 中模拟用户以及这种方法是否安全?我希望根据默认IIS用户在服务器上执行所有请求,但我只想模拟上传文件。

谢谢

4

1 回答 1

3

您需要的是部分模仿。您不需要模拟所有请求,但只应模拟几个呼叫。我想你必须看看这篇文章。

http://support.microsoft.com/kb/306158

这就是它如何在登录用户的凭据下模拟一段代码,而其余的调用将使用默认的应用程序池身份进行处理

System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = 
    ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();

//Insert your code that runs under the security context of the authenticating user here.

impersonationContext.Undo();
于 2012-07-26T08:57:11.893 回答