Condividi tramite


Procedura: abilitare l'accesso al servizio dati (WCF Data Services)

In WCF Data Services è necessario concedere in modo esplicito l'accesso alle risorse esposte da un servizio dati. In altre parole, dopo aver creato un nuovo servizio dati, è necessario fornire in modo esplicito l'accesso alle singole risorse come set di entità. In questo argomento viene illustrato come abilitare l'accesso in lettura e in scrittura a cinque dei set di entità nel servizio dati Northwind creato al completamento della guida rapida. Poiché l'enumerazione EntitySetRights viene definita tramite FlagsAttribute, è possibile utilizzare un operatore logico OR per specificare più autorizzazioni per un solo set di entità.

Dd728277.note(it-it,VS.100).gifNota:
I client che possono accedere all'applicazione ASP.NET saranno inoltre in grado di accedere alle risorse esposte dal servizio dati.Per impedire l'accesso non autorizzato alle risorse in un servizio dati di produzione, è inoltre necessario proteggere l'applicazione stessa.Per ulteriori informazioni, vedere Securing ASP.NET Web Sites.

Per abilitare l'accesso al servizio dati

  • Nel codice per il servizio dati sostituire il codice segnaposto nella funzione InitializeService con il codice seguente:

    ' Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead _
         Or EntitySetRights.WriteMerge _
         Or EntitySetRights.WriteReplace)
    config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead _
        Or EntitySetRights.AllWrite)
    config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead)
    
     // Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead 
         | EntitySetRights.WriteMerge 
         | EntitySetRights.WriteReplace );
     config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead
         | EntitySetRights.AllWrite);
     config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead);
    

    In questo modo i client saranno in grado di accedere in lettura e scrittura ai set di entità Orders e Order_Details e solo in lettura ai set di entità Customers.

Vedere anche

Attività

Procedura: sviluppare un servizio WCF in esecuzione in IIS

Concetti

Configurazione del servizio dati (WCF Data Services)