Web サービス認証
Windows 認証または基本認証を使用して、レポート サーバー Web サービスへの呼び出しを認証できます。レポート サーバーへの SOAP 要求を作成するクライアントは、サポートされる認証プロトコルのいずれかのクライアント部分を実装している必要があります。Microsoft .NET Framework を使用している場合は、マネージ コード HTTP クラスを使用して認証を実装できます。これらの API を使用すると、認証情報を SOAP 要求と一緒に容易に送信できます。
レポート サーバー Web サービスへの呼び出しを作成する前に適切な資格情報を持っていないと、呼び出しが失敗します。実行時に、メソッドを呼び出す前の Web サービスを表すクライアント側オブジェクトの Credentials プロパティを設定することによって、資格情報を Web サービスに渡すことができます。
メモ : |
---|
使用する認証方法は、Microsoft インターネット インフォメーション サービス (IIS) のレポート サーバー仮想ディレクトリに関するセキュリティ設定に応じて変わります。仮想ディレクトリのセキュリティの詳細については、IIS ドキュメントを参照してください。 |
以降のセクションでは、.NET Framework を使用して資格情報を送信するコード例を示します。
Windows 認証
次のコードは、Windows 資格情報を Web サービスに渡します。
[Visual Basic]
Dim rs As New ReportingService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
ReportingService rs = new ReportingService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
基本認証
次のコードは、基本資格情報を Web サービスに渡します。
Dim rs As New ReportingService()
rs.Credentials = New System.Net.NetworkCredential("username", "password", "domain")
ReportingService service = new ReportingService();
service.Credentials = new System.Net.NetworkCredential("username", "password", "domain");
資格情報は、レポート サーバー Web サービスのメソッドを呼び出す前に設定しておく必要があります。資格情報を設定しないと、"HTTP 401 エラー : アクセスが拒否されました。" というエラーが発生します。サービスを使用する前にサービスを認証する必要があります。ただし、資格情報を設定した後は、rs などの同じサービス変数を続けて使用する限り、再度設定する必要はありません。
カスタム認証
Reporting Services にはプログラミング API が含まれ、開発者は、セキュリティ拡張機能と呼ばれるカスタム認証拡張機能を設計および開発できます。詳細については、「セキュリティ拡張機能の実装」を参照してください。
参照
その他の技術情報
Web サービスと .NET Framework を使用したアプリケーションの構築
レポート サーバー Web サービス