1

SQL データベースと通信する必要がある IIS サーバーで ASP.Net Web アプリケーションを実行しています。以下は、私が使用している接続文字列です。

<add name="myConn"
     connectionString="data source=serverName;initial catalog=dbName;integrated security=True; Trusted_Connection=Yes;"
     providerName="System.Data.SqlClient" />

そして、これは私が受け取り続けるエラーです:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

同様のエラーが発生している他のいくつかのスレッドを確認しましたが、解決策を見つけることができませんでした。どんなアイデアでも大歓迎です。

4

3 に答える 3

1

これはセキュリティが統合された MS SQL Server ですよね?

その場合は、SSMS を開いて (Your DB)/Security/Users に移動し、Users を右クリックして [New User...] を選択します。

ユーザー タイプのドロップダウンから、[Windows ユーザー] を選択します。次に、[ユーザー名] フィールドの横にある [...] をクリックすると、使い慣れた Windows ユーザー選択ダイアログが開きます。このダイアログには、ANONYMOUS LOGON ユーザーが含まれている必要があります。

于 2012-08-27T22:40:31.810 に答える
1

SQL サーバー データベースに接続するときにセキュリティを処理するには、2 つの方法があります。データベース サーバー自体の構成によって、どちらの方法が利用可能かがわかります。

  1. 統合されたセキュリティ。
    これは、Web サイトを実行しているのと同じユーザーとしてクエリを実行することを意味します。IIS 7 の場合、これはアプリケーション プール ユーザーです。これは、Network Service、Local Service、Local System、または ApplicationPoolIdentity として構成されている場合があります。データベース サーバーが Web サーバーと同じでない場合 (同じであってはなりません)、通常、これを機能させるには、アプリケーション プール ID にドメイン アカウントを使用する必要があります。そのドメイン アカウントには、データベース サーバーに対する適切な権限が必要です。ここでの代替手段は、偽装を使用することです。いずれにせよ、これは複雑な設定であり、調査してネットワーク管理者と協力する必要があります。

  2. SQL サーバーのセキュリティ。これは、ほとんどの人が使い慣れている従来のユーザー名/パスワードです。通常、構成を変更して「integrated security=true」部分を削除し、実際のユーザー名とパスワードを指定する必要があります。データベース サーバー自体は、SQL サーバーのユーザー名を使用するように構成する必要があり、ユーザーはデータベースに対してクエリを実行するための適切な権限を持っている必要があることに注意してください。

于 2012-08-27T23:16:41.527 に答える
0

あなたのcatalog = dbNameの後ろに、私は入れます

UID=dbUserID;PWD=dbPassword;

もちろん、dbUserID と dbPassword を入力します。

HTH

于 2012-08-27T22:12:43.013 に答える