Beschränkung des Zugriffs auf einen WCF REST (webHttpBinding) Service der ASP.NET-Mitgliedschaftsanbieter verwenden?

StackOverflow https://stackoverflow.com/questions/481090

Frage

Ich habe viel Material auf dem Netz über die Verwendung des ASP.NET-Mitgliedschaftsanbieter mit den wsHttpBindings gefunden, aber ich habe keinen Hinweis auf die Verwendung mit webHttpBindings gesehen.

Ich bin auf der Suche nach einem System, das in zwei Szenarien funktioniert:

  1. Der Benutzer in eine asp.net Website angemeldet ist und die Website ist, Anrufe an den Dienst zu machen.
  2. Der Benutzer greift auf den Dienst direkt über REST.

Ist das möglich, der in Rahmen gebaut unter Verwendung von (das heißt nur durch Konfiguration)? Wenn ja, wie konfiguriere ich den Dienst? Und wie passieren die Benutzer die Anmeldeinformationen an den REST-Service?

War es hilfreich?

Lösung

Die beste Quelle, die ich gefunden habe, ist hier: http://www.leastprivilege.com/FinallyUsernamesOverTransportAuthenticationInWCF aspx

Die Seite hat auch Tonnen von anderen Informationen zu HTTP-Module einrichten Standardauthentifizierung zu behandeln (was ich vermute, Sie verwenden werden, da es eine Art des Standard ist).

Die HTTP-Modul-Authentifizierungsmethode ist auf Codeplex mit Beispielcode und allem hier: http: //www.codeplex .com / CustomBasicAuth

Andere Tipps

ADO.NET Data Services Sie?

Sie können eine QueryInterceptor für ein Unternehmen aufzubauen und den Zugriff darauf einzuschränken. Zum Beispiel:

    [QueryInterceptor("foo_entity")]
    public Expression<Func<foo_entity, bool>> FilterMembership()
    {
        MembershipUser user = Membership.GetUser();
        Guid userGuid = (Guid)user.ProviderUserKey;
        return c => c.UserId == userGuid;
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top