【问题标题】:Set Encrypted connection in web.config during wix installation在 wix 安装期间在 web.config 中设置加密连接
【发布时间】:2017-04-25 12:40:22
【问题描述】:
我有一个使用 base 64 加密连接字符串的 Web 应用程序。
<add name="connString" connectionString="r5IJ/jyd79T65xiCQ5c6m2vj6B9rVjFMfYiOW7WcpDDVZNJcQGDJfaO6kYfNCvlGXYthl+RHhDVMe6TT7R9Gba96EDTPVOkojQH21QX84yRv0qqn+//QDA==" providerName="System.Data.SqlClient"/>
我正在使用 Wix 来打包 Web 应用程序。我的问题是我们如何在我的应用程序的 web.config 中使用 wix 安装加密连接字符串?
【问题讨论】:
标签:
asp.net
asp.net-mvc
wix
connection-string
【解决方案1】:
验证连接字符串后非常简单,使用立即类型的自定义操作对连接字符串进行加密,然后将其存储到某个属性中。
可以在 Visual Studio 中自定义动作项目。
并将您的加密逻辑放入其中。 WIX CustomActions
假设你有两个属性
<property Id="CONSTR" value"abc">
<property Id="CONSTR_ECYTP">
在对话框中将第一个属性引用到连接字符串的文本框。
<Control Id="CONNECTIONSTRING" Type="Edit" X="40" Y="76" Width="220" Height="18" Property="CONSTR" Text="{200}" />
在此对话框中添加一个下一步按钮。
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next"></control>
现在在这个控制范围内。
调用您的自定义加密操作。
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="DoAction" Value="ENCRYPT_CONNSTR" Order="1" >1</Publish>
<Publish Event="NewDialog" Value="[NEXTDIALOG_ID]" Order="2" >2</Publish>
</Control>
在自定义操作中设置其他属性如。
session["CONSTR_ECYTP"]=Encryptfunction(session["CONSTR"])