2017-08-08 26 views
0

アプリケーションをサーバーにデプロイすると、ログインに失敗しました。私のDBとアプリケーションは2つの物理マシンに分かれています。ただし、ローカルで開発およびテストを行い、DBサーバーに接続するときには問題はありませんでした。出版後にのみ。ユーザー '{domain} {user}'のログインがMVCのSqlClient.SqlExceptionに失敗しました

enter image description here

手順私はfalseに統合セキュリティを設定している私のWeb.Configで

  1. を解決しようとするために撮影しました。統合セキュリティが真の場合、同じエラーが発生していましたが、ユーザー名の代わりにマシン名が付いていました。
  2. Web.Configの[ユーザーID:]と[パスワード:]フィールドに有効な資格情報を配置しました。 Web.Configに配置された資格情報は、SQL Server Management Studioに直接ログインするためにも使用されます。

  3. SSMS内では、これらの資格情報がWindows認証とSQL Server認証でも動作することを確認しました。

私はWindows認証を使用して、SSMSにログインしたときに、私はアプリの作業で設定した資格情報。これを解決する方法に関する助言は大いに感謝されるでしょう。ありがとう!

+1

1.接続文字列をテストするために、そのPCに.udlファイルを作成します。 2.ファイアウォールを確認します(ポート1433(デフォルト)をブロックしません)。 3. SQLインスタンス(ネットワーク)の設定を確認します – M84

+0

ユーザが有効になっていることを確認してください! –

+0

@ M84 'Login failed'というエラーが出るので、ファイアウォールを通過します。 –

答えて

0

既定では、IISはアプリケーションをローカルマシンアカウントで実行します。このアカウントにはSQL Serverへのアクセス権がありません。統合されたセキュリティを実現するには、そのアクセスを許可する必要があります。これを行うにはいくつかの方法がありますが、スレッドAdd IIS 7 AppPool Identities as SQL Server Logonsが開始されます。

IISアカウントを追加する方法よりも好ましい別の方法は、Active Directoryにサービスアカウントを作成し、IISのアプリケーションプールIDをサービスアカウントに設定することです。環境に応じて、ネットワーク管理者またはDBAと協力してこれを設定する必要があります。

あなたの最後のオプションは、単にSQL Authenticationを使用することです。

関連する問題