我有一个使用base 64加密连接字符串的Web应用程序。
<add name="connString" connectionString="r5IJ/jyd79T65xiCQ5c6m2vj6B9rVjFMfYiOW7WcpDDVZNJcQGDJfaO6kYfNCvlGXYthl+RHhDVMe6TT7R9Gba96EDTPVOkojQH21QX84yRv0qqn+//QDA==" providerName="System.Data.SqlClient"/>
我正在使用Wix打包Web应用程序。我的问题是如何在我的应用程序的web.config中使用wix安装来加密连接字符串?
答案 0 :(得分:1)
验证连接字符串后非常简单,使用立即类型的自定义操作来加密连接字符串,然后将其存储到某个属性。
可视化工作室中的自定义动作项目。 并将加密逻辑放入其中。 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"])