Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/10/2005, 10:15
Avatar de xknown
xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
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...
__________________
Alex Concha
Buayacorp - Programación y Diseño

Última edición por xknown; 18/10/2005 a las 10:23