2011-08-24 105 views
1

我已经为使用表存储asp.net成员资格提供程序进行安全性的Azure云编写了一个Web应用程序。使用表存储的Azure成员资格提供程序

我可以在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计算哈希值的区别。

回答

0

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

尽管这里描述的具体问题是在1.4,我仍然认为,如果你使用的是本地指向相同的存储帐户作为Windows Azure的服务不那么你仍然可能需要做以下 - http://msdn.microsoft.com/en-us/library/gg494983.aspx

相关问题