2011-01-06 16 views
2

Verwenden von AspProviders (TableStorageMembershipProvider usw.) von Microsoft WCF Azure Samples. Es ist WCF Service Web Role, und in Azure Storage Explorer kann ich sehen, Mitgliedschaft, Rollen und Sitzung Tabellen schön angezeigt, wenn ich versuche, eine Verbindung herzustellen. Gibt es einen bestehenden Code für die Verwaltung von Mitgliedschaft und Rollen? Einige ASPX-Seiten ich denke, etwas wie this für einfache alte ASP.NET, aber moderner und Azure-getestet hoffentlich?Azure-Mitgliedschaftsbenutzeroberfläche

Danke, Andres

+0

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

+0

Man kann nicht auf Twitter Nicht-Follower kontaktieren, sorry. Bitte geben Sie anderen Kontakt, wenn Sie noch interessiert sind – Andres

Antwort

2

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>