c# - 使用表存储的 Azure 成员(member)资格提供商

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

我为 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 计算哈希值的方式肯定有所不同。

最佳答案

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

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

关于c# - 使用表存储的 Azure 成员(member)资格提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7177639/

相关文章:

C# 位图图像、字节数组和流!

asp.net - 单页 ASP.NET 中不允许的结构和类

c# - 使用组合键从两个表中选择数据

Azure Service Fabric - Owin 上的 Web Api - https 问题

azure - 在 Azure 函数中将 AzureServiceTokenProvider 设为静态

c# - 如何找出 SpecificVersion 引用属性的值?

c# - 如何确定连接的数据库是否区分大小写

c# - 如何使用 C# 向 Exchange 分发列表发送电子邮件

asp.net - 使用 ASP.NET 动态数据/LINQ to SQL,如何让两个表字段与同一个外键有关系?

azure - 如何为 MBrace 设置本地集群