方法: データ サービスへのアクセスを有効にする (WCF Data Services)
WCF Data Services では、データ サービスによって公開されているリソースに明示的にアクセス権を付与する必要があります。 つまり、新しいデータ サービスを作成した後も、個々のリソースに対し、エンティティ セットとして明示的にアクセスを許可する必要があります。 このトピックでは、クイック スタートを完了するときに作成する Northwind データ サービスの 5 つのエンティティ セットへの読み取りおよび書き込みアクセスを有効にする方法について説明します。 EntitySetRights 列挙体は FlagsAttribute を使用して定義されているので、論理和演算子を使用して 1 つのエンティティ セットに複数のアクセス許可を指定できます。
注 : |
---|
ASP.NET アプリケーションにアクセスできるクライアントは、データ サービスによって公開されるリソースにもアクセスできます。運用データ サービスで、リソースへの承認されていないアクセスを防止するために、アプリケーション自身もセキュリティで保護する必要があります。詳細については、「Securing ASP.NET Web Sites」を参照してください。 |
データ サービスへのアクセスを有効にするには
データ サービスのコードで、
InitializeService
関数のプレースホルダーのコードを次の内容で置き換えます。' 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);
これにより、クライアントから
Orders
およびOrder_Details
エンティティ セットへの読み取りおよび書き込みアクセスと、Customers
エンティティ セットへの読み取り専用アクセスが有効になります。
参照
処理手順
方法: IIS 上で実行する WCF Data Service を開発する