0

これが私のシナリオです。

1つのサーバーでSharePoint2010を実行し、別のサーバーでSQLServerを実行しています。両方のマシンは同じドメイン上にありますが、関連するログインは各マシンに対してローカルです。違いが生じる場合、SharePointはNT Authority \NetworkServiceとして実行されています。

削除SQLServerからデータをプルするBCSを作成しました。接続文字列は次のように表示されますData Source={0}; Initial Catalog={1};User Id={2}; Password={3}; Integrated Security=SSPI。すべての{x}が置き換えられると、接続文字列が適切に形成されていることを確認しました。

同じマシン(つまり、SharePointをホストしているマシン)で実行されているブラウザーからSharePointサイトにアクセスする場合、これは問題なく機能します。別のマシンのブラウザから接続すると、失敗します。

SQL Serverでプロファイラーを叩くと、SharePointが「ローカル」にアクセスされるときに、クエリを実行するユーザーがログインアカウントであることがわかります。リモートで実行している場合、ユーザーは「匿名」です。アカウントのアクセス許可により、前者は成功し、後者は失敗します。いかなる場合でも、ユーザーは実際には接続文字列で提供されたものではありません。

この回答は、問題がおそらく接続プールに関連していることを示していますが、問題の解決には役立っていません。

つまり、簡単に言うと、このBCSに接続文字列のユーザー名とパスワードのペアを実際に尊重させるにはどうすればよいでしょうか。または、それが失敗した場合、どうすれば同等の目的を達成できますか?サーバーのセットアップ(SharePointを1つ、SQL Serverをもう1つ)はネゴシエートできません。不幸にも。

4

1 に答える 1

1

SQL認証を使用できるIntegratedSecurityXORを使用できます。しかし、それらを混ぜることはできません。を指定Integrated Security=SSPIすると、代わりに統合セキュリティが使用されるため、ユーザー名とパスワードは無視されます。SQL認証のユーザーとパスワードを指定する場合は、「統合セキュリティ」の部分を削除してください。

他の統合認証接続と同様に、リモートサーバーは制約付きの委任制限に該当し、匿名として認証されます。NTになりすました資格情報がネクストホップ(SQL Server)に流れるようにするには、制約付き委任を有効にする必要があります。以下を参照してください。

于 2010-04-19T21:15:28.400 に答える