1

ASP.NET アプリケーションをデプロイした後、問題が発生しました。すべてがデバッグ モードで正常に機能していましたが、デプロイ後に DB に接続しようとするページで次のエラーが発生します。

ユーザー「」のログインに失敗しました。

私のSQLConnection文字列は次のとおりです。

sdb.ConnectionString = "Data Source=< SQLServerAddress >;Initial Catalog=sdb;";

もともと持っていた

Integrated Security=true;

接続文字列に追加しましたが、同様のエラー メッセージが表示されました。

「ユーザー '< ドメイン >\< コンピューター名 >$' のログインに失敗しました。」

IIS は初めてですが、ガイドに従ってセットアップしました。私のサイトでは、ID が NetworkService に設定された DefaultAppPool を使用しています (ただし、ApplicationPoolIdentity を試してみましたが、何も変わらないようです)。

データベースの SQL サーバーに NT AUTHORITY\NETWORK SERVICE アカウントを db_owner 権限として追加しました。

認証設定で、匿名認証のユーザー ID を「アプリケーション プール ID」に設定しています。

C:\inetpub\wwwroot フォルダーへのアクセス許可を NETWORK SERVICE に与えましたが、それも何の役にも立たないようです。

他に何を試すべきか本当にわかりません。Visual Studio のデバッグではすべてがうまく機能したため、問題はアクセス許可または ID にあるに違いないことがわかりますが、配置後のどこに問題があるのか​​はわかりません。これは私の最初の IIS 展開であり、大学の学部のコンピューター サイエンス プログラムのプロジェクト用です。私は一日のかなりの部分をグーグルで検索しており、多くの適用可能な提案を試みましたが、残念ながら何も機能していないようで、解決策を探すために何を検索すればよいか少しわかりません.

それが問題かどうかはわかりませんが、コードビハインドからすべてデータベースに接続しています。接続するコードと、それをどのように使用しているかは次のとおりです。

SqlDataSource sdb = new SqlDataSource();
sdb.ConnectionString = "Data Source=< SQLServerAddress >;Initial Catalog=sdb;";
sdb.SelectCommand = "SELECT someAttribute, someOtherAtt FROM SomeTable";
dropDownList.DataSource = sdb;
dropDownList.DataTextField = "someAttribute";
dropDownList.DataValueField = "someOtherAtt";
4

2 に答える 2

0

アプリケーション用の特定のサービス アカウント、つまりパスワードとユーザー名がわかっている AD アカウントを作成し、それをこのアプリケーションにのみ使用する必要があります。次に、この AD アカウントの接続を許可し、適切な権限を付与するように SQL Server を構成します。アプリケーションを正しく実行するために厳密に必要な最小限のアクセス許可セットのみを付与します。

次に、アプリケーションをデプロイした Web サーバーに戻り、作成したばかりの AD サービス アカウントを偽装して実行するアプリケーション プールを作成し、最後に Web サイト/Web アプリケーションをそのアプリケーション プールで実行するようにセットアップします。

これはトリックです、頑張ってください。

于 2013-03-18T23:03:10.710 に答える
0

このリンクを使用して SQL サーバー ユーザーを作成し、webconfig の接続文字列にユーザー名とパスワードを追加します。

SQL Server ログインを作成する

webconfig ファイルに、次のように接続文字列を追加します

<connectionStrings>
<add name="myConnectionString" connectionString="server=SQLServerAddress;database=sdb;uid=myUser;password=myPass;" />
</connectionStrings>
于 2013-03-19T04:06:50.427 に答える