Mega Code Archive

 
Categories / ASP.Net Tutorial / Configuration
 

Encrypting Sections Programmatically

<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Configuration" %> <%@ Import Namespace="System.Collections.Generic" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">     void Page_Load()     {         if (!Page.IsPostBack)             BindSections();     }     protected void grdSections_RowCommand(object sender, GridViewCommandEventArgs e)     {         int rowIndex = Int32.Parse((string)e.CommandArgument);         string sectionName = (string)grdSections.DataKeys[rowIndex].Value;         if (e.CommandName == "Protect")             ProtectSection(sectionName);         if (e.CommandName == "UnProtect")             UnProtectSection(sectionName);         BindSections();     }     private void ProtectSection(string sectionName)     {         Configuration config = WebConfigurationManager.OpenWebConfiguration (Request.ApplicationPath);         ConfigurationSection section = config.GetSection(sectionName);         section.SectionInformation.ProtectSection ("RsaProtectedConfigurationProvider");         config.Save(ConfigurationSaveMode.Modified);     }     private void UnProtectSection(string sectionName)     {         Configuration config = WebConfigurationManager.OpenWebConfiguration (Request.ApplicationPath);         ConfigurationSection section = config.GetSection(sectionName);         section.SectionInformation.UnprotectSection();         config.Save(ConfigurationSaveMode.Modified);     }     private void BindSections()     {         Configuration config = WebConfigurationManager.OpenWebConfiguration (Request.ApplicationPath);         List<SectionInformation> colSections = new List<SectionInformation>();         foreach (ConfigurationSection section in config.SectionGroups["system.web"].Sections)             colSections.Add(section.SectionInformation);         grdSections.DataSource = colSections;         grdSections.DataBind();     } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Encrypt Config</title> </head> <body>     <form id="form1" runat="server">     <div>     <asp:GridView         id="grdSections"         DataKeyNames="SectionName"         AutoGenerateColumns="false"         OnRowCommand="grdSections_RowCommand"         Runat="server" >         <Columns>         <asp:ButtonField ButtonType="Link" Text="Protect" CommandName="Protect" />         <asp:ButtonField ButtonType="Link" Text="UnProtect" CommandName="UnProtect" />         <asp:CheckBoxField DataField="IsProtected" HeaderText="Protected" />         <asp:BoundField DataField="SectionName" HeaderText="Section" />         </Columns>     </asp:GridView>     </div>     </form> </body> </html>