[英]Error with windows impersonation code in webconfig file
我在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);
}
这就是我为解决这个问题所做的工作。 我希望它能帮助别人。
我正在运行Windows 8.1和IIS 7,并且我有与作者相同的消息。
以下是我解决问题的步骤:
1)如果尚未在Windows中设置,请设置帐户的密码,使其与web.config文件中的信息匹配
转到PC设置 - >帐户 - >登录选项并设置密码
2)在IIS Windows功能中添加Windows身份验证
a)右键单击左下角的Windows徽标
b)单击“控制面板”
c)点击“程序”
d)单击“打开或关闭Windows功能”
e)在“Internet信息服务” - >“万维网服务” - >“安全”下,选中“Windows身份验证”
3)重新启动计算机
4)在IIS管理器的“IIS”组中,单击“身份验证”
5)确保“ASP.Net模拟”和“Windows身份验证”的状态为“已启用”
6)重新启动计算机并重新运行解决方案
还要确保您的web.config模拟行包含域,如下所示:
<identity impersonate="true" userName="Domain\\user\u0026quot; password="password" />
我无法分辨,因为你已经正确地阻止了用户名,但是如果你没有用域名完全声明用户名,那么它将失败并显示此错误。
你在使用域名吗?
<identity impersonate="true" userName="domain\user" password="password" />
关于您的设置的其他一切似乎都是正确的
您的域名可以是您所连接的域的名称,也可以是您的PC的名称。 找到的一个简单方法是打开命令窗口并键入:
echo %userdomain%
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.