Browse Source

add protected section test

svn path=/trunk/mcs/; revision=53838
Chris Toshok 20 years ago
parent
commit
740cbcf8cb

+ 89 - 0
mcs/class/System.Web/Test/standalone/configuration/protected/protect.aspx

@@ -0,0 +1,89 @@
+<%@ Import Namespace="System.Configuration" %>
+<%@ Import Namespace="System.Web.Configuration" %>
+
+<script runat="server" language="C#" >
+const string PROVIDER =   "DataProtectionConfigurationProvider";    
+   
+protected void btnEncrypt_Click(
+ object sender, EventArgs e)
+{
+   try
+   {
+      Configuration config = 
+         WebConfigurationManager.OpenWebConfiguration(
+         Request.ApplicationPath);
+
+      ConnectionStringsSection sect = 
+         config.ConnectionStrings;            
+
+      sect.SectionInformation.ProtectSection(PROVIDER);
+
+      config.Save();
+
+      lblResult.Text ="Connection string" +   
+         " section is now encrypted in " +
+         "web.config file<br>";        
+   }
+   catch (Exception ex)
+   {
+      lblResult.Text = "Exception: " + 
+         ex.Message;
+   }
+
+   //Note that when you read the encrypted 
+   //connection string, it is 
+   //automatically decrypted for you
+   lblResult.Text+="Connection String:" + 
+      ConfigurationManager.ConnectionStrings
+      ["pubs"].ConnectionString;
+}
+
+protected void btnDecrypt_Click(
+   object sender, EventArgs e)
+{ 
+   try
+   {
+      Configuration config = 
+         WebConfigurationManager.OpenWebConfiguration(
+         Request.ApplicationPath);
+      ConnectionStringsSection sect = 
+         config.ConnectionStrings;
+      if (sect.SectionInformation.IsProtected)
+      {
+         sect.SectionInformation.UnprotectSection();           
+         config.Save();
+      }
+      lblResult.Text="Connection string" +
+         " is now decrypted in web.config" +
+         " file";
+   }
+   catch (Exception ex)
+   {
+      lblResult.Text = "Exception: " + ex.Message;
+   }        
+}    
+</script>
+<html>
+<head>
+  <title>Encrypting and Decrypting Connection Strings</title>
+</head>
+<body>
+<form id="form1" runat="server">
+<div>
+  
+ <asp:Button ID="btnEncrypt" 
+  Runat="server" Text="Encrypt" 
+  Width="96px" Height="35px" 
+  OnClick="btnEncrypt_Click" />
+ <asp:Button ID="btnDecrypt" 
+  Runat="server" Text="Decrypt" 
+  Width="102px" Height="35px" 
+  OnClick="btnDecrypt_Click" />
+ <br/><br/><br/>
+ <asp:Label ID="lblResult" 
+  runat="server" Height="19px" 
+  Width="435px"></asp:Label>
+</div>
+</form>
+</body>
+</html>

+ 9 - 0
mcs/class/System.Web/Test/standalone/configuration/protected/web.config

@@ -0,0 +1,9 @@
+<configuration>
+  <connectionStrings>
+    <add name="pubs" 
+      connectionString="localhost;integratedsecurity=true;database=pubs;" />
+  </connectionStrings> 
+  <system.web>
+    <compilation debug="true" />
+  </system.web>
+</configuration>