1

簡単な背景: 私は Web アプリケーションを作成しており、SCOM 2012 DB (SQL Server 2012) からデータを取得するためにこれが必要です。この DB は Windows 認証のみに設定されています。これは、会社が望んでいないため、近い将来には変更されません。これを行う。

問題: この問題について広範囲に調べましたが、解決策が見つかりません。データに戻すには、特定の Windows ユーザーとして実行されている DB への接続を作成する必要があります。これを明確にするために、Web アプリを使用しているエンド ユーザーになりすますことはしたくありません。これに使用したいアカウントの資格情報を持っていますが、可能であればこれを行う際に支援が必要です!

4

3 に答える 3

4

接続は、データベースへのログイン アクセスを持つ Windows ユーザーのコンテキストで行う必要があります。接続文字列を介して行うことはできません。

これを行うには、アプリケーション プール ID をこの特定のユーザーに設定します (これはかなり標準的な方法です)。または、データベースへの呼び出しでユーザーを偽装するメソッドを使用することもできますが、これはもう少し複雑です。.NET で偽装を行う方法を参照してください。例えば。

于 2013-06-27T02:03:53.257 に答える
1

Web アプリとデータベースの間に Web サービスをセットアップし、データベースにアクセスできるアカウントで Web サービスを実行できます。

<system.web>
    <identity impersonate="true" userName="domain\login" password="pwd" />
    ...
</system.web>

Web サービスのweb.config.

その後、Web アプリは Web サービスを呼び出してデータを取得/保存できます。

私はこれを行うアプリを使用しているため、これが機能することを知っています。おそらくimpersonate、Web アプリの構成ファイルに を入れてデータベースに直接アクセスすることもできますが、私はその経験がありません。

于 2013-06-27T02:03:06.580 に答える
1

会社がドメイン内にあり、iis を実行しているユーザーが SQL Server に対するアクセス許可を持っている場合、Windows 認証を使用するだけで済みます。

チェックアウト: http://msdn.microsoft.com/en-us/library/2xzyzb0f(v=vs.100).aspx

于 2013-06-27T02:01:35.800 に答える