0

スタンドアロンのW2K3StdEditionSP2でMS-SQLServer2000 DEにアクセスしようとしている「DOMDEV」というドメインにあるワークステーションで、VS2010で開発された.net 4.0のC#のaspxページがあります。私のドメインの資格情報は

ユーザー:DOMDEV \ MyName pwd:p @ ssword

MS-SQL Server 2K DEのセキュリティはWindows認証モードに設定されており、会社の規制により混合モードに変更することはできません。

私の接続文字列は、aspxのweb.configファイルで次のようになります。DataSource = StandAlone.myCompany.com \ SQL01; Initial Catalog = db_001; Integrated Security = SSPI;

ワークステーションのVS2010でCtrl-F5を実行すると、ページが正常に実行され、スタンドアロンサーバーからすべてのデータが取得されました。

ページをWindowServer2K8 Enterpriseに公開し、IE 9を介してページを要求しようとすると、次のエラーが発生しました。ユーザー'(null)'のログインに失敗しました。理由:信頼されたSQLServer接続に関連付けられていません。

W2K8ではなく、何も設定せずにセットで機能するのはなぜですか?VS IISから送信されるセキュリティ情報はW2K8のIIS7とは異なりますか?W2K8 IIS7のWebサイトは、Windows認証が有効に設定されています匿名認証が有効になっています:アプリケーションプールID

IIS 7が自分のセットのIISと同じように機能するように、W2K8を構成するにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

0

IIS 7の設定を試してみたところ、次の構成がうまく機能していることがわかりました。

パートI:データベースサーバー上にローカルユーザーを作成する

  1. [スタート]>[管理ツール]>[コンピューターの管理]を開きます
  2. コンピューター管理(ローカル)>ローカルユーザーとグループ>ユーザー
  3. 好きな名前の新しいユーザーを追加します(例:yourNewUser; pwd:987poi!@)
  4. ローカル(BUILD-IN)管理者グループに新しいユーザーを追加します
  5. Windows認証モードに設定されているDBには何も設定する必要はありません

パートII:Webサーバー上にローカルユーザーを作成する

  1. [スタート]>[管理ツール]>[サーバーマネージャー]を開きます
  2. 左側のナビゲーションを使用するサーバーマネージャー(yourServerName)>構成>ローカルユーザーとグループ>ユーザー
  3. データベースサーバーで行ったのと同じ情報を持つ新しいユーザーを追加します
  4. 追加の設定/許可/グループは必要ありません(最小の権利)。デフォルトでは、「ユーザー」のみにあります

パートIII:.NETtempフォルダーにアクセス許可を追加する

  1. 32ビット:X:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Filesフォルダーに移動し、新しいユーザーがフォルダーへの書き込みアクセス許可を持っていることを確認します
  2. 64ビット:X:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Filesフォルダーに移動し、新しいユーザーがフォルダーへの書き込みアクセス許可を持っていることを確認します

パートIV:オプション1:Webサーバーを構成する

  1. [スタート]>[管理ツール]>[サーバーマネージャー]を開きます
  2. 左側のナビゲーションを使用するサーバーマネージャー(yourServerName)>役割> Webサーバー(IIS)>インターネットインフォメーションサービス(IIS)マネージャー
  3. インターネットインフォメーションサービス(IIS)マネージャーのナビゲーション(左中央)で、Webアプリケーションをクリックします。
  4. IISセクションで、[認証]アイコンをダブルクリックします
  5. Authenticaitonペインには6つの設定があります。設定の名前をクリックすると、右側のアクションペインで設定を有効/無効/編集できます。それらを次のように設定します。

    • 匿名認証-有効-アプリケーションプールID
    • ASP.NETの偽装-有効-特定のユーザー:yourNewUser(987poi!@)
    • それらの残りを無効にします
  6. Webアプリを公開するたびに、設定がまだ存在するかどうかを再確認する必要があります

パートIV:オプション2:web.configファイルを設定する

  1. 公開しているWebアプリのweb.configファイルに移動し、system.webブロックに次の行があることを確認します

    <identity impersonate = "true" password = "987poi!@" userName = "yourNewUser" />

  2. このオプションは、ローカルワークステーションのIISでは機能しません(少なくとも私の場合は機能しません)。

ユーザーのワークステーションからリクエストすると、ページに必要なデータが表示されます。

このソリューションは、.net4を搭載したIIS6を搭載したWindowsServer2003でも機能します。

于 2012-04-13T17:11:50.613 に答える
0

私はこのエラーと戦っていました..最終的に私は解決策を見つけました...今はすべてうまくいきます..

次の手順を試してください。

サーバーマシンでゲストアカウントを「オン」に設定します。「セキュリティ」>「SQLServerでのログイン」で新しいログイン「servername\guest」を追加します。データベースにこのログインを追加します。必要な権限を付与します。

よろしく

ハリスPネア

于 2013-04-24T08:25:39.277 に答える