1

アプリケーションの作成を開始するために、実稼働 SQL データベースのバックアップを受け取りました。
ローカル インスタンスとして実行し、Windows 認証を使用して情報を読み取ることができますが、ローカル ASP.Net Web サイトを実行しているときに IIS で Windows 認証を使用して SQL サーバーにログインする方法がわかりません。

DB にユーザーを追加する権限がありませんSystem.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.。データベースを読み取るページにアクセスしようとすると、エラーが発生します。

DB管理者にこれを修正してもらうために、しばらくの間DB管理者と通信できるとは思いません。ここで私にできることはありますか?

4

2 に答える 2

3

asp コードは、IIS が実行されているのと同じ ID (ネットワーク サービス アカウント) を使用しています。資格情報を使用するようにするには、それらを接続文字列にハードコードするか、偽装を使用できます (このリンクを参照してください: http://msdn.microsoft.com/en-us/library/aa292118%28VS.71 %29.aspx )

リンクの要点: これを web.config ファイルに入れます。 <identity impersonate="true" />

-t。

于 2012-08-03T20:58:11.480 に答える
0

たとえば、「セキュリティ」セクションを介して SSMS 経由でネットワーク サービス アカウント用に SQL Server にアカウントを作成し、「ログイン」を右クリックして [追加] を選択する必要があります。Windows アカウントを追加すると、「NETWORK SERVICE」という名前を検索して検証できます。次に、[ユーザー マッピング] セクションに切り替えて、データベースを表示する権限を付与します。

参照: http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015%5Fsqlserver

2 番目の代替接続文字列に "integrated security=sspi" がある場合は、次のようにします。

  1. IIS で統合認証を有効にする
  2. asp.net で Windows 認証を有効にする
  3. asp.net で偽装を有効にする

うまくいけば、それは役に立ちます。

于 2012-08-04T02:52:52.587 に答える