在web项目中将管理员的密码存储在web.config文件中,要求可以修改其密码,那么如何对web.config文件进行修改呢?
        解决方案:
        web.cofig文件其实也是xml,所以使用对xml操作的方法即可实现。
        由于xp操作系统对操作权限的限制,所以在调试前应该将web文件夹的权限进行设置,添加AspNet用户,并使之拥有修改的权限。
        主要使用XmlDocument来解析web.config.并用SelectSingleNode()方法来定位要修改的配置节。要注意的是最后程序要Save(),所以,你的apsnet帐号必须对web.config拥有写权限

        代码如下:
                       

 1ASP.NET修改Web.Config文件(对xml的操作)//节“SysAdminPass”用来存储密码
 2ASP.NET修改Web.Config文件(对xml的操作)
 3ASP.NET修改Web.Config文件(对xml的操作)XmlDocument webconfigDoc = new XmlDocument();
 4ASP.NET修改Web.Config文件(对xml的操作)
 5ASP.NET修改Web.Config文件(对xml的操作)string filePath = HttpContext.Current.Request.PhysicalApplicationPath + @"\web.config";                        
 6ASP.NET修改Web.Config文件(对xml的操作)                        
 7ASP.NET修改Web.Config文件(对xml的操作)//设置节的xml路径                        
 8ASP.NET修改Web.Config文件(对xml的操作)string xPath = "/configuration/appSettings/add[@key='?']";
 9ASP.NET修改Web.Config文件(对xml的操作)
10ASP.NET修改Web.Config文件(对xml的操作)//加载web.config文件
11ASP.NET修改Web.Config文件(对xml的操作)webconfigDoc.Load(filePath);
12ASP.NET修改Web.Config文件(对xml的操作)                   
13ASP.NET修改Web.Config文件(对xml的操作)//找到要修改的节点
14ASP.NET修改Web.Config文件(对xml的操作)XmlNode passkey = webconfigDoc.SelectSingleNode(xPath.Replace("?","SysAdminPass"));
15ASP.NET修改Web.Config文件(对xml的操作)
16ASP.NET修改Web.Config文件(对xml的操作)//设置节点的值
17ASP.NET修改Web.Config文件(对xml的操作)passkey.Attributes["value"].InnerText = strNewpwd;
18ASP.NET修改Web.Config文件(对xml的操作)
19ASP.NET修改Web.Config文件(对xml的操作)//保存设置
20ASP.NET修改Web.Config文件(对xml的操作)webconfigDoc.Save(filePath);
21ASP.NET修改Web.Config文件(对xml的操作)

      

相关文章: