使用命令aspnet_regiis.exe加密web.config

时间:2011-08-02 15:17:54

标签: c# encryption web-config

我的网络配置如下

<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings>
      <add name="MySqlConnection" connectionString="Data Source=server;Initial    Catalog=BD;User Id=usr; Password=psswd" />
</connectionStrings>
<system.web>
    <!--<authentication mode="Forms" />-->
    <roleManager enabled="true" />
    <compilation debug="true" targetFramework="4.0">
        <assemblies>
            <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <!--add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>-->
        </assemblies>
    </compilation>

    <authentication mode="Forms">
        <forms loginUrl="login.aspx" name=".ASPXFORMSAUTH"/>
    </authentication>
    <authorization>
        <deny users="?" />
    </authorization>


    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
        <providers>
            <clear />
            <add
  name="SqlProvider"
  type="System.Web.Security.SqlMembershipProvider"
  connectionStringName="MySqlConnection"
  applicationName="/"
  enablePasswordRetrieval="false"
  enablePasswordReset="true"
  requiresQuestionAndAnswer="true"
  requiresUniqueEmail="true"
  passwordFormat="Hashed" />
        </providers>
    </membership>

    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
<system.codedom>
</system.codedom>

<system.webServer>
</system.webServer>

<system.web>
    <caching>
        <sqlCacheDependency enabled="true">
            <databases>
                <add name="AtentoMIG"
   connectionStringName="MySqlConnection"
   pollTime="5000" />
            </databases>
        </sqlCacheDependency>
    </caching>
</system.web>
    <location path="MasterPage">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location> 
<location path="assets">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location> 

我需要加密连接字符串,但我找不到什么错误wwith我的命令它说它找不到属性connectionString

这是我的命令

aspnet_regiis.exe -pef "configuration/connectionStrings" C:\

2 个答案:

答案 0 :(得分:5)

删除configuration/ - 假定:

aspnet_regiis.exe -pef "connectionStrings" C:\

当然,这也假设web.config文件位于c驱动器的根目录。

答案 1 :(得分:0)

aspnet_regiis -pef“connectionStrings”“drive:\ location \ of \ web.config \ folder \”

如果您有自定义加密密钥,则变为

aspnet_regiis -pef“connectionStrings”“drive:\ location \ of \ web.config \ folder \” - prov“CustomProvider”