'System.IO Exception: Logon failure: unknown user name or bad password

System.IO Exception: Logon failure: unknown user name or bad password.
1 minute ago | LINK

Hi All I am trying to resolve this issue with all possible solutions but could not succeed.

Requirement - I should be able to access XML file located in network share share folder for validation of users and other purposes.

Problem: I am able to access the XML file located in Network Share folder when debugging using VS 2010 but not when i published to IIS 7.

Methods Approached: I created a user account XXX and with password and made the user part of Administrators group. Set the website application pool identity to custome user account(XXX) created.

In the web.config I added a line:

<identity impersonate="true" userName="XXX" password="XXXXX"/>

Code where exception is caught-

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; 

Any ideas how to resolve the issue?.



Solution 1:[1]

I propose 3 fixes for 2 different scenarios:

  1. If you have both computers (server & computer holding the xml) hooked up using domain authentication: create a domain user and give it rights to access that file in the computer holding the xml.

  2. Any other situation than the one mentioned above: create a user with the same name and password on both computers and set that as the one impersonated by the application pool.

  3. (UNSECURE) Works in any scenario, without impersonation: put the XMLs in a network share that allows anonymous access.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 linkerro