2009-01-26 11 views
8

Ho trovato molto materiale sul Web sull'utilizzo del provider di appartenenze ASP.NET con wsHttpBindings, ma non ho visto alcun riferimento al suo utilizzo con webHttpBindings.Limitare l'accesso a un servizio REST WCF (webHttpBinding) utilizzando il provider di appartenenze ASP.NET?

Sto cercando un sistema che funziona in due scenari:

  1. L'utente è connesso in un sito web asp.net e il sito web sta facendo chiamate al servizio.
  2. L'utente accede al servizio direttamente tramite REST.

E 'possibile utilizzare la struttura integrata (ad esempio tramite la configurazione)? In tal caso, come posso configurare il servizio? E in che modo l'utente passa le credenziali al servizio REST?

risposta

2

La fonte migliore che ho trovato è qui: http://www.leastprivilege.com/FinallyUsernamesOverTransportAuthenticationInWCF.aspx

Il sito ha anche tonnellate di altre informazioni sulla configurazione di moduli HTTP per gestire l'autenticazione di base (che io vi sto indovinando userò dato che è una specie di standard).

Il metodo di autenticazione HTTP modulo si trova su CodePlex con codice di esempio e tutto qui: http://www.codeplex.com/CustomBasicAuth

+0

la prego di rispondere http://stackoverflow.com/questions/9584198/authentication-service-using-wcf? – Lijo

0

Servizi dati ADO.NET intendi?

È possibile creare un oggetto QueryInterceptor per un'entità e limitare l'accesso ad esso. Per esempio:

[QueryInterceptor("foo_entity")] 
    public Expression<Func<foo_entity, bool>> FilterMembership() 
    { 
     MembershipUser user = Membership.GetUser(); 
     Guid userGuid = (Guid)user.ProviderUserKey; 
     return c => c.UserId == userGuid; 
    } 
Problemi correlati