【问题标题】:Azure Membership Provider using Table Storage使用表存储的 Azure 成员资格提供程序
【发布时间】:2011-08-24 14:57:43
【问题描述】:

我为 Azure 云编写了一个 Web 应用程序,该应用程序使用表存储 asp.net 成员资格提供程序来确保安全。

我可以让它在 Developer Fabric 中本地运行,应用程序指向使用云中的存储帐户,例如在 web.config 中

 <membership defaultProvider="TableStorageMembershipProvider" userIsOnlineTimeWindow="20">
      <providers>
        <clear/>
        <add name="TableStorageMembershipProvider"
             type="Microsoft.Samples.ServiceHosting.AspProviders.TableStorageMembershipProvider"
             description="Membership provider using table storage"
             applicationName="AspProvidersDemo"
             enablePasswordRetrieval="false"
             enablePasswordReset="true"
             requiresQuestionAndAnswer="false"
             minRequiredPasswordLength="6"
             minRequiredNonalphanumericCharacters="0"
             requiresUniqueEmail="true"
             passwordFormat="Hashed"/>
      </providers>
    </membership>

并在此处的 ServiceConfiguration 中:

<Setting name="DataConnectionString" value="DefaultEndpointsProtocol=https;AccountName=MyAccount;AccountKey=MyAccountKeyHere" />

它可以在本地运行,但是当我部署到云时,由于密码无效,即使我使用的帐户和代码与 DevFabric 中的相同,我也无法登录。我唯一能想到的是它与 Salt 有关,因为我尝试登录的帐户是在本地创建的。

有谁知道这可能是什么原因造成的?我很感激我可以遍历并在任何地方放置跟踪语句 - 只是想为自己节省一些时间!

更新:使用明文密码时似乎有效。一定是我的本地机器和 Azure 计算哈希的方式不同。

【问题讨论】:

    标签: c# asp.net azure asp.net-membership


    【解决方案1】:

    我会认为您在本地的机器密钥与 Azure 不同。您在开发结构上创建的指向 Azure 存储的用户将使用与 Windows Azure 中使用的不同的机器密钥。

    尽管此处描述的具体问题已在 1.4 中修复,但我仍然认为,如果您使用本地指向与 Windows azure 服务相同的存储帐户,那么您可能仍然需要执行以下操作 -http://msdn.microsoft.com/en-us/library/gg494983.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多