我在webconfig文件中声明了以下部分以允许模拟,我已将该文件夹共享到其他计算机上的网络内的公共访问
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Windows"/>
<identity impersonate="true" userName="******" password="*****"/>
.........
..........
当我运行应用程序时,抛出错误
配置错误 描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并适当修改配置文件。
分析程序错误消息:无法从配置文件中指定的凭据创建Windows用户令牌。操作系统登录失败时出错:未知用户名或密码错误。
Aspx页面: 我有示例aspx页面,其中我有以下代码从本地计算机移动文件 到网络中的其他机器,通过模拟
protected void Page_Load(object sender, EventArgs e)
{
File.Copy(@"C:\temp\CloudURL.txt", @"\\RemoteMachine\D$\temp\CloudURL.txt", true);
}
答案 0 :(得分:5)
这就是我为解决这个问题所做的。我希望它会帮助别人。
我正在运行Windows 8.1和IIS 7,并且我收到了与作者相同的消息。
以下是我解决问题的步骤:
1)如果尚未在Windows中设置,请设置帐户的密码以使其与web.config文件中的信息匹配
转到PC设置 - &gt;帐户 - &gt;登录选项并设置密码
2)在IIS Windows功能中添加Windows身份验证
a)右键单击左下角的Windows徽标
b)点击“控制面板”&#39;
c)点击&#39;程序&#39;
d)点击“打开或关闭Windows功能”&#39;
e)在互联网信息服务&#39; - &GT; &#39;万维网服务&#39; - &GT; &#39;安全&#39;,检查&#39; Windows身份验证&#39;
3)重新启动计算机
4)在IIS管理器中,在&#39; IIS&#39;组,点击“认证”
5)确保“ASP.Net模拟”的状态为&#39;和Windows身份验证&#39;已启用
6)重新启动计算机并重新运行解决方案
还要确保您的web.config模拟行包含域,如下所示:
<identity impersonate="true" userName="Domain\user" password="password" />
答案 1 :(得分:4)
我无法分辨,因为你已经正确地阻止了用户名,但是如果你没有用域名完全声明用户名,那么它将因此错误而失败。
您使用的是域名吗?
<identity impersonate="true" userName="domain\user" password="password" />
关于您的设置的其他所有内容似乎都是正确的。
您的域名可以是您所连接的域名,也可以是您的PC名称。找到的一个简单方法是打开命令窗口并输入:
echo %userdomain%