首页 > 解决方案 > ASP.net 网站使用已登录的 Windows 凭据进行 CreateDirectory/File.Copy

问题描述

我想知道是否有可能,如果有,如何让 IIS 上的 ASP.net 网站使用当前登录用户的 Windows 凭据来执行 Directory.CreateDirectory 和 File.Copy 命令。

目前我的应用程序在本地运行时可以工作,但是在使用 IIS 托管在服务器上时它不起作用。

它设置为仅允许服务器上的 Windows 身份验证和 ASP.Net 模拟。

Directory.Exists() 总是返回 false,我假设是因为它使用的是 IIS 用户而不是 windows 用户,后者无权访问我正在检查文件的服务器(上面的其他调用也失败了)。我不想提供用户凭据,因为我希望每个登录用户只有权执行他们的凭据所提供的内容,而不是管理员凭据所拥有的权限。

Web.config 身份验证设置

<authentication mode="Windows" />
<authorization>
  <deny users="?" />
</authorization>
<identity impersonate ="true"/>

编辑:最终创建了一个可以访问该文件夹的服务帐户并将其用于应用程序池。当我有更多空闲时间时,我可能会回来并尝试找出问题(感觉这可能与双跳有关,因为我要从 IIS 到另一台服务器而不是 IIS 服务器本身。但不要t 当前有权将 IIS 服务器设置为委托并测试它是否有任何作用)。

标签: c#asp.netiisweb-configimpersonation

解决方案


推荐阅读