Web フロント エンド (WFE) にあるアプリケーション ページからサーバーの全体管理にあるリストにアクセスできるようにする必要があるという要件があります。私が抱えている問題は、WFE のアプリケーション プール ユーザーが SharePoint_AdminContent データベースにアクセスできないため、アクセスが拒否され、両方とも独自のアプリケーション プールを持っていることです。
ログには、次のように表示されます。
- プロセス ID に戻す
- SqlConnection.Open の前の現在のユーザー: 名前: SharePointDemo\SPContentPool SID: S-1-5-20 ImpersonationLevel: なし
- SqlConnection.Open 後の現在のユーザー: 名前: SharePointDemo\SPContentPool: S-1-5-20 ImpersonationLevel: なし
- SQL Server インスタンス 'SPNSQL' のデータベース 'SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275' のユーザー 'SPContentPool' に対する SQL データベース権限が不十分です。SQL Server からの追加のエラー情報を以下に示します。オブジェクト 'proc_EnumLists'、データベース 'SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275'、スキーマ 'dbo' に対する EXECUTE 権限が拒否されました。
SharePoint\System ユーザー トークンを使用する Daniel Larsons メソッド ( http://daniellarson.spaces.live.com/blog/cns!D3543C5837291E93!1919.entry ) を試すだけでなく、withelevatedprivileges で実行しようとしましたが、次のようにのみ昇格するようです。アプリケーションプールとして高く。
管理 Web アプリケーションのアプリケーション プールを偽装する簡単な方法があることを願っていますが、まだその方法を見つけることができませんでした... または、プロセス ID をアクセスできるものに変更します
どんな考え、アイデア、または解決策もありがたく受け取っています!
フィル