System.IO 异常:登录失败:用户名未知或密码错误。
1 分钟前 |链接
大家好,我正在尝试使用所有可能的解决方案来解决此问题,但未能成功。
要求 - 我应该能够访问位于网络共享共享文件夹中的 XML 文件,以验证用户和其他目的。
问题:使用 VS 2010 进行调试时,我能够访问位于网络共享文件夹中的 XML 文件,但在发布到 IIS 7 时却无法访问。
采取的方法:我创建了一个用户帐户 XXX 和密码,并将该用户设为管理员组的一部分。将网站应用程序池标识设置为创建的自定义用户帐户(XXX)。
在 web.config 中我添加了一行:
<identity impersonate="true" userName="XXX" password="XXXXX"/>
捕获异常的代码 -
string UserConfigXML ="\\\\servername\\Engineering\\Kiosk Back Up\\UserCFG.XML";
reader = new StreamReader(UserConfigXML);
string input = null;
string[] sArray;
while ((input = reader.ReadLine().Trim()) != "</USERS>")
{
if (input.Contains("<USER NAME="))
{
sArray = input.Split(new Char[] { '"' });
string sUserName = sArray[1].ToString().ToUpper();
string sDelivery = "";
while ((input = reader.ReadLine().Trim()) != ("</USER>"))
{
char[] array2 = new char[] { '<', '>' };
if (input.Contains("<DELIVERY_MECHANISM>"))
{
string[] mechanism = input.Split(array2);
sDelivery = mechanism[2].ToString().ToUpper();
if (sDelivery == "WEBMAIL")
{
UsersList.Add(sUserName);
}
}
}
}
}
return UsersList;
有什么想法可以解决这个问题吗?
我针对 2 种不同的场景提出 3 项修复:
如果您使用域身份验证连接了两台计算机(服务器和保存 xml 的计算机):创建一个域用户并授予其访问保存 xml 的计算机中的该文件的权限。
除上述情况之外的任何其他情况:在两台计算机上创建一个具有相同名称和密码的用户,并将其设置为应用程序池模拟的用户。
(不安全)适用于任何场景,无需模拟:将 XML 放在允许匿名访问的网络共享中。