none
SQLServer 2008R2 Reporting Serviceのフォーム認証について RRS feed

  • 質問

  • <状況>
    SQLServer 2008 R2のReporting Serviceでシングルサインオンを実装しようと考え、フォーム認証を実装しようとしています。

    その際、フォーム認証を設定にするとReporting ServiceのWebサービスへのアクセスが拒否されます。


    <環境>
    Windows7 pro(32bit)
    SQLServer2008 R2 Express Edition

    <状況詳細>
    下記URLを参考に作業を進めていました。

    1.Reporting Serviceの設定
    http://msdn.microsoft.com/ja-jp/library/cc281383

    2.フォーム認証用のクライアントの作成(WPFで作成)
    http://msdn.microsoft.com/ja-jp/library/ms152787(v=sql.105)
    http://msdn.microsoft.com/ja-jp/library/ms155134(v=sql.105)

    3.フォーム認証用サーバー拡張機能の作成
    http://msdn.microsoft.com/ja-jp/library/ms152899(v=sql.105)

    2.まで作業を進めた時点で、(Webサービスプロキシクラス)ReportingService2010.LogonUserAsync()を呼んだところ、完了イベントで下記エラーが返ってきました。

    System.Net.WebException: リモート サーバーに接続できません。 ---> System.Net.Sockets.SocketException: 対象のコンピューターによって拒否されたため、接続できませんでした。 2001:0:4137:9e76:1027:1e72:3f57:fcb1:8080
       場所 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
       場所 System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
       --- 内部例外スタック トレースの終わり ---
       場所 System.Web.Services.Protocols.WebClientAsyncResult.WaitForResponse()
       場所 System.Web.Services.Protocols.WebClientProtocol.EndSend(IAsyncResult asyncResult, Object& internalAsyncState, Stream& responseStream)
       場所 System.Web.Services.Protocols.SoapHttpClientProtocol.InvokeAsyncCallback(IAsyncResult result)
      
    また、
    Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles
    のログにもアクセスした情報が記録されません。

    なお、今回はフォーム認証でトライしていますが、Windows認証(初期構成)ではReporting Serverのサービスに接続できていることを確認しています。

    ここで、一度1.Reporting Serviceの設定をWindows認証に戻し、認証を行うと
    再度設定を設定をフォーム認証にしても、OSの再起動を行うまでは上記エラーは無くなり、アクセスできるようになりました。(実運用上有りえない操作)
    この際、上記ログにもアクセスした記録が残るようになりました。
    (2.フォーム認証用のクライアントの作成時、Webサービスの参照もこの方法で無理やり行いました)

    上記アクセス拒否を回避するにはどうしたらよいでしょうか。

    調査するためのキーワードでもよいので、ヒントをいただければと思います。

    宜しくお願い致します。

    • 編集済み tito_tak 2012年6月25日 10:42
    2012年6月25日 10:41

回答