3

asp.net を使用して Web サイトを作成しましたが、Visual Studio 開発サーバーを使用してこれを実行するとすべて正常に動作しますが、IIS サーバーで実行しようとすると、Web サイトのホームページが読み込まれますが、データベース サーバーに接続できませんでした。

<add connectionString="Data Source=ASHUTOSH-PC\SQLEXPRESS;Initial Catalog=CloudStorage;Integrated Security=True" name="connectionStr"/>
</connectionStrings>

これは、Visual Studio 開発サーバーでは正常に機能しますが、IIS では機能しません....助けてください

4

2 に答える 2

2

Integrated Security=True使用しているため、アプリケーションプールIDを使用してDBに接続します。カッシーニを実行するときは、独自のクレデンシャルを使用します。SQLServerにログインしてクエリを実行する権限を持つユーザーでアプリケーションプールIDを設定する必要があります。

于 2013-03-10T14:58:29.360 に答える
1

MSDNから:

ASP.NET Development Serverを使用してページを実行すると、ページは現在のユーザーアカウントのコンテキストで実行されます。たとえば、管理者レベルのユーザーとして実行している場合、ASP.NET開発サーバーで実行されているページには管理者レベルの特権があります。対照的に、IISでは、ASP.NETはデフォルトで、通常は特権が制限されている特別なユーザー(ASPNETまたはNETWORK SERVICES)のコンテキストで実行されます。ASPNETまたはNETWORKSERVICESアカウントは、サーバーコンピューター(ドメインアカウントではない)に対してローカルであり、他のコンピューター上のリソースへのアクセスを制限します。

データベースアクセス
ASP.NET開発サーバーを使用する場合、通常、Windows統合認証を使用してSQLServerにアクセスできます。ただし、同じページがASPNETまたはNETWORK SERVICESアカウントのIISで実行される場合、ページはローカルユーザーのコンテキストで実行されるため、ユーザーとパスワードに関する情報を含む接続文字列を使用するようにページを構成する必要があります。。詳細については、「 WebアプリケーションおよびASP.NETセキュリティアーキテクチャからのSQLServerへのアクセス」を参照してください。

于 2013-03-10T14:59:20.580 に答える