Aquí tienes una forma de hacer lo que pides:
Código:
XmlDocument doc = new XmlDocument();
string config = Server.MapPath("web.config");
string user = usuario.Text;
string pwd = password.Text;
doc.Load(config);
XmlElement nodo = (XmlElement)
doc.DocumentElement.SelectSingleNode("/configuration/system.web/authentication/forms/credentials/user[@name=\"" + user + "\"]");
if ( nodo != null )
{
if ( nodo.Attributes.GetNamedItem("pwd").Value != pwd && pwd.Length > 0 )
nodo.Attributes.GetNamedItem("pwd").Value = pwd;
}
else
{
nodo = doc.CreateElement("user");
nodo.SetAttribute("name", user);
nodo.SetAttribute("password", pwd);
XmlNode raiz =
doc.DocumentElement.SelectSingleNode("/configuration/system.web/authentication/forms/credentials");
if ( raiz != null)
raiz.AppendChild(nodo);
}
doc.Save(config);
Recuerda que debes darle permisos de escritura sobre el archivo web.config, al usuario bajo el que se ejecuta asp.net.
Un poco de información sobre xpath:
http://www.w3schools.com/xpath/
Saludos
PS. Supongo que te das cuenta de los riesgos y desventajas que hay al hacer esto...