2009-12-04 19 views
8

SQL ServerとWindows認証を使用して、Vista(IIS7)で実行されているASP.NET Webサイトを取得しようとしています。私は、データベースに接続するときどんなに私は何をすべきか、私は例外を取得していない:それは私が適用されますどのような設定は関係していないようIIS7のSQL ServerとWindows認証

 
    SqlException was unhandled 
    Login failed for user 'MyDomain\MachineName$'. 

、私はIIS7は、私のWindowsログイン資格情報を通過させることはできません。

エクストラ詳細:

  • SQL Serverの両方と私のローカルマシンが
  • Vistaのエンタープライズ、IIS7
  • SQL Server 2005の
  • 匿名認証無効化、Windows認証が有効になって
  • のActiveDirectoryにあり偽装のオン/オフは違いなし
  • すべてのアイデンティティ(NetworkService、LocalSys TEMは、など)と同じ結果に
  • クラシックを与え、統合されたパイプラインは同じ結果に

ヘルプを与えます!

+1

異なるサーバーにISSとSQL Serverのですか:何が欲しいのは '制約付き委任' とあなたはそれのためにIISとASPを設定する必要がありますcaledされます同じサーバーですか? –

+0

これは別のサーバーで実行されています。 – gerrod

答えて

0

アプリケーションの新しいユーザーアカウントを作成し、Sqlサーバーに適切な権限を与え、この新しいアカウントで実行するようにアプリケーションプールを設定しようとしましたか? これは私が通常やっていることであり、動作します。私はNetworkService、LocalSystemまたは他の組み込みアカウントの下でアプリケーションを実行していません。

+0

いいえ。私は統合されたWindows認証を使用して、アプリケーションのユーザーが誰であるかを理解する必要があります。通常、私は同じことをやります、そうでなければ! :-) – gerrod

1

デフォルトでは、IISサーバーはimpersonateのSQL Serverに対して許可されていません。設定方法はMSDN articleです。構成プロセスは複雑でエラーが発生しやすいです。

プロダクションISSとSQL Serverが別のサーバーで実行されている場合は、2つのサーバー間で偽装信頼を構成するためにドメイン管理者が必要です。これは通常、大きな組織では行かない。

偽装は、通常の管理者によって展開されるのではなく、ユーザーがSQL接続プールで接続を共有できないようにします。これにより、小さな(5人以上の)Webサイトでさえ非常に顕著なパフォーマンスの低下に繋がります。

+0

OK、チップのおかげで。正直言って私はちょうど私のローカルマシンでそれを働かせたいです。一旦展開されると、ネットワーク管理者に任せてください:-) – gerrod

0

接続文字列にIntegrated Security=SSPIが含まれていますか?

asp.netコンテキストをドメインユーザーにも切り替えましたか?ここで

適切に構成されたときにオン/オフこのトピックに関するMSDNの記事

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

+0

統合されたセキュリティは、IISが自分自身(通常はIUSR_ComputerName)として認証するよう警告します。 – Andomar

関連する問題