Foros del Web » Programando para Internet » ASPX (.net) »

cambiar contraseñas en web.congig

Estas en el tema de cambiar contraseñas en web.congig en el foro de ASPX (.net) en Foros del Web. Hola aforados: Quiero resolver el siguiente problema.Tengo definidas varios usuarios y contraseñas en el web config de la siguiente manera: <authentication mode="Forms"> <forms> <credentials passwordFormat="Clear"> ...
  #1 (permalink)  
Antiguo 14/10/2005, 08:43
 
Fecha de Ingreso: marzo-2004
Mensajes: 198
Antigüedad: 20 años, 1 mes
Puntos: 1
cambiar contraseñas en web.congig

Hola aforados:

Quiero resolver el siguiente problema.Tengo definidas varios usuarios y contraseñas en el web config de la siguiente manera:

<authentication mode="Forms">
<forms>
<credentials passwordFormat="Clear">
<user name="493AAAAAB56A8283B8659B6E7ED6E3F3817319D" password="657F35A5F5C43AAAAF43347BD2AF9D8B3B2ED093 " />
<user name="A3E2211294674FSSSS8F39C8E13F21C0568004B5" password="BEE7531FFFFD3A2AD1526438658F9F606BD88891 " />
<user name="0E92C7C3EEEEE21181D5EDAD1D2C375394BB0A9AC" password="BEE753109OOOOA2AD1526438658F9F606BD88891 " />
<user name="0C15F5D4A5637RRRR933B18DD96B6D85E1658CCB" password="20C7E00DD4DD5C7B85B1E6EWWWW0CB8ADB0540D" />
</credentials>
</forms>
</authentication>

El caso es que quiero hacer una webform que me permita modificar los usuarios y las contraseñas e incluso si fuera posible añadir nuevos usuarios y contraseñas.


Es posible?. Si es posible donde me podria informar?

Gracias anticipadas
  #2 (permalink)  
Antiguo 14/10/2005, 09:58
 
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 20 años, 3 meses
Puntos: 0
Para eso existe las Base de datos para guadar informacion
el web config es para guardar settings no data
  #3 (permalink)  
Antiguo 15/10/2005, 03:32
 
Fecha de Ingreso: marzo-2004
Mensajes: 198
Antigüedad: 20 años, 1 mes
Puntos: 1
No has contestado a mi pregunta. Tengo una base de datos de usuarios pero por motivos que no vienen al caso a los administradores quiero tenerlos en el web.config.

Repito mi pregunta ¿ es posible aceder al la seccion credentials del web config y modificar el usuario y el password por programa.

gracias anticipadas
  #4 (permalink)  
Antiguo 16/10/2005, 19:21
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Si se puede acceder y modificar la información contenida en el web.config, pero probablemente no desees la consecuencia que habrá despues de hacerlo (la aplicación se reinicia si se detecta un cambio en dicho archivo, posiblemente pierdas los datos que tenías en sesión...).

Haz caso a lo que te indica parra.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 18/10/2005, 07:22
 
Fecha de Ingreso: marzo-2004
Mensajes: 198
Antigüedad: 20 años, 1 mes
Puntos: 1
gracias.
A lo mejor me he explicado mal. Os agradezco a los dos la explicacion, pero el caso es que necesito aceder al web.config para cambiar el usuari y la clave.

Si sabeis como se podria hacer indicarmelo por favor.

Lo he intentado tratando el web. config como un archivo xml pero no consigo acceder hasta

<authentication mode="Forms">
<forms>
<credentials passwordFormat="Clear">
<user name =""

para cambiar el contenido.

Respecto a Parra no es que no le haga caso. le agradezco el esfuerzo de leerme y contestarme, pero me gustaria aprender como hacer esto aunque luego una vez que sepa hacerlo lo abandone porque no me sirva.

A veces cuando relees tus posts, te das cuenta de que con las prisas pierdes la cortesia y el agradecimiento.



Gracias anticipadas
  #6 (permalink)  
Antiguo 18/10/2005, 10:15
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 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
  #7 (permalink)  
Antiguo 19/10/2005, 10:54
 
Fecha de Ingreso: marzo-2004
Mensajes: 198
Antigüedad: 20 años, 1 mes
Puntos: 1
Si me doy cuenta

Muchisimas gracias otra vez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:25.