2

要上传文件,我添加<identity impersonate="true" />Web.Config文件中,因为我无法设置 READ 和 WRITE 权限。

一切都很顺利,但是现在,我不知道原因,服务器一直要求我输入用户名和密码来上传文件,我插入了我的 ftp 用户名和密码。

我怎样才能绕过这个?(我只能编辑 Web.config)

目前,我有这个:

<identity impersonate="true" />

<authentication mode="Windows"/>

我试过了:

<identity impersonate="true" userName="ftpaccount" password="ftppassword" />

但它没有用。

4

1 回答 1

2

您尝试的第二个选项似乎有点不正确,因为在使用 WindowsAuthentication 时,用户名应该是 Form:DOMAIN_NAME\UserName用于域帐户和COMPUTER_NAME\UserName本地用户帐户。

还要确保尝试模拟的用户帐户有足够的权限在您的上传目录中创建文件。这就是为什么我的应用程序在使用时也面临同样情况的原因之一:<identity impersonate="true" />

下面简洁的描述可能会有所帮助。

使用 IIS 7.5 时,ASP.NET 应用程序使用网络服务帐户来请求系统资源。此设置在的部分<processModel>元素中定义。<system.web>Machine.config

<processModel autoConfig="true" />

在某些情况下,for 的值autoConfig 可能为 false。因此,在使用 Windows 身份验证时有两种可能的方式:[在您的应用程序的 Web.config 中提供这些]

1.) <identity impersonate="true" />。我们应该确保被
模拟身份的用户有足够的权限在上传目录中创建文件。

2.) 我们可以提供一个将始终使用的帐户名称:

<identity impersonate="true" userName="DOMAIN\Username" password="password" />

再次,用户需要有足够的权限。还要确保 UserName 的格式为: DOMAIN_NAME\UserName用于域帐户和COMPUTER_NAME\UserName本地用户帐户。

于 2013-08-10T17:35:06.813 回答