gpt4 book ai didi

asp.net-mvc - 隐藏 sessionState 提供程序值的最佳方法

转载 作者:行者123 更新时间:2023-12-04 00:26:41 25 4
gpt4 key购买 nike

我在 MVC 应用程序中使用 Redis 缓存 session 状态提供程序。当然,提供程序的所有设置都在我的 Web.config 中。如果我简单地将主机和 key 以及所有这些内容放入简单的字符串中,该应用程序就可以工作,所以它看起来像这样:

  <sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add
type="Microsoft.Web.Redis.RedisSessionStateProvider"
name="MySessionStateStore"
host = "[HOST]"
port = "6379"
accessKey = "[KEY]"
ssl = "false"
throwOnError = "true"
retryTimeoutInMilliseconds = "5000"
databaseId = "0"
applicationName = "TRAXProSurvey"
connectionTimeoutInMilliseconds = "5000"
operationTimeoutInMilliseconds = "1000"
/>
</providers>
</sessionState>

...其中“[HOST]”和“[KEY]”是实际值。但这并不完全安全,对吧?有没有办法以某种方式隐藏该信息?

我知道在 Azure 配置中使用应用程序设置 - 事实上,我正在使用一些应用程序设置来执行其他操作。但我没有找到一种能够专门使用这些的方法。我可以创建应用程序设置变量,但是在 sessionState 中访问该值的方法是什么?我尝试使用 System.Configuration.ConfigurationManager.AppSettings("[name]") - 只是那个,带引号的,和带单引号的。

我想也许我只是加密 Web.config...我发现您可以在 .pubxml 中添加“<'MSDeployEnableWebConfigEncryptRule'>true<'/MSDeployEnableWebConfigEncryptRule'>”(没有单引号) - 但那不适用于常规 Azure 网站。

我还找到了使用 aspnet_regiis 加密 Web.config 部分的文章/示例...但是这样做在像 Azure 这样的网络场环境中不起作用,对吗?

那么还有什么其他选择(如果有的话)? ...或者这是不可能的?谢谢!

最佳答案

您可以使用应用程序设置来提供 Redis session 状态配置,如下所示。

例如,我们要在应用程序设置中设置主机和 accessKey。

<appSettings>
<add key="SomeHostKey" value="actual host value" />
<add key="SomeAccessKey" value="actual access key" />
</appSettings>

您可以在应用程序设置中选择任何字符串作为“键”。您可以从 azure 门户设置应用程序设置。

现在,使用此键作为 web.config 中的值,如下所示:

<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add
type="Microsoft.Web.Redis.RedisSessionStateProvider"
name="MySessionStateStore"
host = "SomeHostKey"
port = "6379"
accessKey = "SomeAccessKey"
ssl = "false"
throwOnError = "true"
retryTimeoutInMilliseconds = "5000"
databaseId = "0"
applicationName = "TRAXProSurvey"
connectionTimeoutInMilliseconds = "5000"
operationTimeoutInMilliseconds = "1000"
/>
</providers>
</sessionState>

如果需要,您可以通过应用设置提供所有参数。您可以根据需要通过应用程序设置提供一些参数,并通过 web.config 提供其余参数。 session 状态提供程序将查找您是否在 web.config 中提供实际值或应用程序设置 key 。

关于asp.net-mvc - 隐藏 sessionState 提供程序值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com