Zu meiner Überraschung Peter Kellner's solution ich funktioniert gut erwähnt. Hier sind die folgenden Schritte: Fügen Sie Ihrer Lösung AspProviders (von WCF Azure Samples) hinzu. Erstellen Sie eine Azure ASP.NET-Webrolle (nennen wir sie MembershipAdmin), verweisen Sie AspProviders darauf. Fügen Sie Membership.aspx und andere aspx/cs-Dateien von Peter Kellner's solution hinzu, markieren Sie Membership.aspx als "Als Startseite festlegen". Suchen Sie in der Web.config von MembershipAdmin nach den Abschnitten "membership" und "roleManager" und ersetzen Sie sie durch den Abschnitt "appSettings" (letzteres wird direkt unter root-Konfiguration ausgeführt). Beispiele für diese Abschnitte sind unten, ändern Sie einfach "YourTargetService" zu dem, was Ihr echter Service-Name ist. Tatsächlich wird es Web.config von Ihrem echten Dienst spiegeln, was diese Abschnitte betrifft (naja, Sie brauchen noch ein paar Tricks dort - aus Gründen der Vollständigkeit möchte ich erwähnen, dass ich Hilfe von here und here bekommen habe). Dann einfach ausführen und erscheinen Membership.aspx ist ziemlich selbsterklärend. Natürlich ist die Sicherung dieser Seite natürlich Ihre nächste Sorge, aber zumindest können Rollen/Benutzer jetzt verwaltet werden, und sie erscheinen gut in Azure Table Storage.
<membership defaultProvider="TableStorageMembershipProvider" userIsOnlineTimeWindow="20">
<providers>
<clear />
<add name="TableStorageMembershipProvider" type="Microsoft.Samples.ServiceHosting.AspProviders.TableStorageMembershipProvider" description="Membership provider using table storage" applicationName="YourTargetService" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" requiresUniqueEmail="true" passwordFormat="Hashed" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="TableStorageRoleProvider" cacheRolesInCookie="true" cookieName=".ASPXROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All">
<providers>
<clear />
<add name="TableStorageRoleProvider" type="Microsoft.Samples.ServiceHosting.AspProviders.TableStorageRoleProvider" description="Role provider using table storage" applicationName="YourTargetService" />
</providers>
</roleManager>
<appSettings>
<add key="TableStorageEndpoint" value="http://127.0.0.1:10002/devstoreaccount1" />
<add key="BlobStorageEndpoint" value="http://127.0.0.1:10000/devstoreaccount1" />
<add key="AccountName" value="devstoreaccount1" />
<add key="AccountSharedKey" value="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" />
<add key="DefaultMembershipTableName" value="Membership" />
<add key="DefaultRoleTableName" value="Roles" />
<add key="DefaultSessionTableName" value="Sessions" />
<add key="DefaultProviderApplicationName" value="YourTargetService" />
<add key="DefaultProfileContainerName" />
<add key="DefaultSessionContainerName" />
</appSettings>
Hallo Andres, danke für das Posten. Kannst du mich auf @ashleyrudland auf Twitter kontaktieren? Ich möchte dir noch ein paar Fragen stellen! – Ash
Man kann nicht auf Twitter Nicht-Follower kontaktieren, sorry. Bitte geben Sie anderen Kontakt, wenn Sie noch interessiert sind – Andres