【发布时间】:2020-07-23 15:14:09
【问题描述】:
我在我的应用程序中使用 sessionState mode = "SQLServer"。有什么方法可以加密在 web.config 中传递的连接字符串?
【问题讨论】:
标签: c# asp.net session-state
我在我的应用程序中使用 sessionState mode = "SQLServer"。有什么方法可以加密在 web.config 中传递的连接字符串?
【问题讨论】:
标签: c# asp.net session-state
要加密应用程序之间的 sql server 连接,您只需添加
encrypt=true
到连接字符串,例如:
"Server=##.##.##.##,1092;Database=dbname;uid=username;pwd=password;encrypt=true"
要加密 web.config 中的字符串,请参阅how-to-encrypt-connection-string-in-web.config
【讨论】:
我处于同样的位置,我也找不到任何答案。接受的答案也没有回应我认为提出的问题。经过一番研究,我做了以下解决问题并加密了 web.config 的 sessionState 节点 connectionString
加密:
您可以按照以下步骤加密 web.config 的特定部分:
以administrator 运行命令提示符
执行命令:
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
执行命令:
ASPNET_REGIIS -pef "system.web/sessionState" "PhysicalPathOfWebsiteThatHasWebConfigFile"
解密:
同样,如果您想解密 web.config 中的特定节点,请按照上述相同步骤,在最后一步将 -pef 替换为 -pdf,该实用程序将解密特定节点
以上命令说明:
ASPNET_REGIIS:取自官方MSDN,您可以使用 ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 来加密或解密 Web 配置文件的部分。处理 Web.config 文件时,ASP.NET 将自动解密加密的配置元素。 -pef 告诉您要使用它来加密 web.config 中的特定部分。它有其他用途,在官方MSDN中解释过
system.web/sessionState 是您要加密的特定节点。
PhysicalPathOfWebsiteThatHasWebConfigFile 是应用程序的物理路径(web.config 所在的位置)。请不要在路径末尾添加额外的“\”。
其他参考链接:
https://docs.microsoft.com/en-us/previous-versions/aspnet/zhhddkxy(v=vs.100)
【讨论】: