首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MachineKey Azure SDK1.5/1.6

MachineKey Azure SDK1.5/1.6
EN

Stack Overflow用户
提问于 2011-12-31 16:22:09
回答 5查看 1.3K关注 0票数 3

我使用的是Azure上使用WCF Web Api的自定义API令牌实现。它使用FormsAuthentication.Decrypt来获取FormsAuthenticationTicket。为了确保解压过程跨多个实例工作,我在我的web.config中提供了一个MachineKey。然而,我注意到MachineKey似乎在Azure上不起作用,因为它看起来像是Azure使用了一个随机的机器密钥,并覆盖了我在web.config中指定的密钥,我使用的是最新的Azure SDK1.5(或1.6?)

我很清楚Azure SDK 1.3中的这个问题,我相信这个问题已经在1.4中得到了纠正。这个问题有没有可能在Azure SDK1.5/1.6上再次出现?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-04 08:49:49

在最近的微软.Net 4.0安全升级KB2656351之后,我也遇到了同样的问题,我的FormsAuthentication票证无法跨子域进行验证。

我的FormsAuth票证是从我的专用服务器生成的,并在Windows Azure上的子域上读取。

为了让所有子域解密票证,我确保我的所有专用服务器都通过Windows Update安装了最新的.Net更新补丁。然后,我将我的Azure项目升级到1.6版,并在部署后选择了最新的Azure操作系统。这似乎起到了作用。

以下是一些关于这个问题的文章:

http://weblogs.asp.net/scottgu/archive/2011/12/28/asp-net-security-update-shipping-thursday-dec-29th.aspx

http://technet.microsoft.com/en-us/security/bulletin/ms11-100.mspx

干杯

弗朗西斯科

票数 0
EN

Stack Overflow用户

发布于 2012-01-01 23:41:42

Windows Azure已经跨部署中的同一角色同步了机器密钥。因此,你应该可以完全忽略web.config中的MachineKey设置,让Windows Azure为你处理它(网络场场景得到了很好的支持)。您的方案支持Windows Azure开箱即用,无需修改(只需调用Decrypt)。

您可能正在谈论的问题是1.3版本的问题,其中web.config文件被直接修改以同步机器密钥。当文件是只读的(即TFS源代码管理)时,这将失败,并导致部署失败。这是一段时间前修复的。

票数 0
EN

Stack Overflow用户

发布于 2012-01-02 13:34:40

我想我终于找到解决方案了。这与Azure或MachineKeys没有任何关系,但更多的是与应用程序被测试的方式有关。存储在我的手机应用程序上的加密密钥是在不同的web服务器上加密的(然而,使用的机器密钥是相同的)。我只是卸载并重新安装了我的应用程序,从而迫使服务器生成一个新的密钥。

似乎在不同的服务器上解密这个密钥导致了问题。我有点担心这会不会在未来造成问题。使用相同的机器密钥不是应该确保加密/解密在不同的机器上工作吗?

无论如何,我对给您带来的不便深表歉意。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8687150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档