1

AnalysisServicesデータベースに接続する必要があるASP.NETアプリケーションがあります。すべてのコンポーネントが同じマシン上にあります。

  • ウェブアプリケーション
  • IIS
  • Visual Studio 2008
  • SQL Server 2008

私のドメインアカウント(DOMAINNAME \ MyWindowsUsername)は、SQL Serverの管理者であり、ローカルマシンの「Administrators」グループにも属しています。

Webアプリケーションは、Windows認証とID impersonate="true"を使用します。

IIS Windows認証設定(他の組み合わせも試しましたが、成功しませんでした...):

  • 拡張保護:オフ
  • カーネルモード認証を有効にする:true
  • プロバイダーを有効にします:NTLM


ASP.NET開発サーバー(Visual Studioから展開)でWebアプリケーションを使用すると、すべてが正常に機能します。ドメインアカウントと対応するデータベースロールが正しく認識され、セキュリティはデータベースロールで定義されているとおりに機能しています。

しかし、同じWebアプリケーションを(コードを変更せずに)IISに展開すると、(ブラウザーで)エラーが発生します。

トランスポート層でエラーが発生しました。ピアは接続を途中で閉じました。



SQLプロファイラー(接続が失敗したIISの場合)では、次の2つのイベントのみが発生します。

ログインの監査 MyWindowsUsernameDOMAINNAME

監査ログアウト MyWindowsUsernameDOMAINNAME

Analysis Servicesは偽装されたアカウントを認識しているようですが、それでも接続が切断されます。

ASP.NET開発サーバーはDOMAINNAME\MyWindowsUsernameで実行され、IISはLocalSystem(デフォルト設定)で実行されることに気付きました。さまざまなシステム/ネットワークアカウントをAnalyisServices管理者として追加して(この背後にあるロジックを理解するためだけに)アカウントを試してみましたが、成功しませんでした(常に同じエラー)。

4

1 に答える 1

1

委任を使用して、WebブラウザからSSASにユーザークレデンシャルを渡す必要があります。

http://msdn.microsoft.com/en-us/library/ff647404.aspx

ASP.NET Development Serverは、ログオンアカウントで実行されるだけなので、この問題に以前から気付くことはありません。

于 2011-02-20T06:57:13.493 に答える