2012-07-26 82 views
1

请考虑这样的情景:模拟在Asp.net上传文件

我有一个网站,主机背后IIS 7.0。几乎每个IIS设置都是默认设置。我有一个上传文件的文件夹,ASP.Net用户可以写访问它。目前IIS经理取消这个写访问,他想添加一个本地用户在Windows Server,该用户可以有写访问该文件夹。现在我的问题是我如何可以在asp.net中模拟用户,如果此方法是安全的?我希望所有的请求在服务器上根据默认的IIS用户执行,但我只想模拟上传文件。

谢谢

回答

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(); 
+0

由于要处理,但我应该在哪里发送用户名和密码?我的意思是我想要使用其他用户的模拟器? – Arian 2012-07-26 09:06:33

+0

在文章中有“在代码中模拟特定用户”部分。使用此功能,您可以将自定义用户名和密码传递给模拟,然后您必须撤消该模拟。 – 2012-07-26 09:12:04

+0

有没有不使用API​​调用的方法? – Arian 2012-07-26 09:17:40