Partager via


Procédure : activer l'accès au service de données (WCF Data Services)

Dans Services de données WCF, vous devez accorder explicitement l'accès aux ressources exposées par un service de données. Cela signifie qu'après avoir créé un service de données, vous devez encore fournir explicitement l'accès à des ressources individuelles comme les jeux d'entités. Cette rubrique indique comment activer l'accès en lecture et en écriture à cinq des jeux d'entités dans le service de données Northwind qui est créé lorsque vous terminez le démarrage rapide. Étant donné que l'énumération de EntitySetRights est définie à l'aide de FlagsAttribute, vous pouvez utiliser un opérateur OR logique pour spécifier plusieurs autorisations pour un jeu d'entités unique.

Notes

Tout client qui peut accéder à l'application ASP.NET peut également accéder aux ressources exposées par le service de données.Dans un service de données de production, pour empêcher l'accès non autorisé aux ressources, vous devez également sécuriser l'application elle-même.Pour plus d'informations, consultez Securing ASP.NET Web Sites.

Pour activer l'accès au service de données

  • Dans le code du service de données, remplacez le code d'espace réservé dans la fonction InitializeService par le code suivant :

    ' 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);
    

    Cela permet aux clients de disposer d'un accès en lecture et en écriture aux jeux d'entités Order_Details et Orders et d'un accès en lecture seule aux jeux d'entités Customers.

Voir aussi

Tâches

Procédure : développer un WCF Data Service qui fonctionne sur IIS

Concepts

Configuration du service de données (WCF Data Services)