1

MVC4 でアプリケーションを開発しましたが、問題なく動作します。しかし、私がホストしたサーバーでは失敗します。コードをサーバーに移動し、edmx ファイルと SQL 接続を追加して、VS から実行できるようにしました。そこから公開し、IIS でホストしましたが、次のようなエラーが発生しています。

「System.Data.SqlClient.SqlException: ユーザー 'SEIU-ULTCW\ULTCAPP01$' のログインに失敗しました。」

Windows認証でSQLサーバー2008 r2を使用しています使用している接続文字列は

 <add name="CMSEntities" connectionString="metadata=res://*/Model.CMS.csdl|res://*/Model.CMS.ssdl|res://*/Model.CMS.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=LTCSQL;initial catalog=CMS;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

これは、EDMX ファイルをアプリケーションに追加したときに自動生成されたものです。サーバーの 2 つの用途 1.Administrator ドメイン ULTCAPP01 2.user1 ドメイン SEIU-ULTCW。user1 には管理者権限があります。

また、IIS で Windows 認証が有効になっています。どんな助けでも大歓迎です..ありがとう。

4

1 に答える 1

1

これを一読することをお勧めします

統合されたセキュリティと SQL Server

上部近くにあるこの文に注目してください

Windows 統合認証を使用して SQL Server に接続するには、ASP.NET アプリケーションが実行されている Windows ID を識別する必要があります。ID に SQL Server データベースへのアクセス権が付与されていることも確認する必要があります。

したがって、基本的に、Web サイトを実行しているアカウントに SQL Server データベースに対する権限がない場合、発生しているエラーが発生します。

アカウントのエラー メッセージから判断するとSEIU-ULTCW\ULTCAPP01$、SQL Server とアプリケーション データベースでこのアカウントに付与されている権限を確認してください。

また、明確にするために、Visual Studio内からプロジェクトを実行すると、SQL Serverにアクセスできると思われるWindowsアカウントの資格情報が使用されるため、それが機能する理由です。

于 2013-05-24T07:45:47.117 に答える