私が使用しているレガシーコードでは、WebサービスがSharePointリストにアクセスします。
これらのリストの一部には特別な権限が必要なため、最初のアクセス時にユーザーの資格情報が要求されます。
ただし、アプリケーションにログを追加した後、ユーザーが最初にWebサービスを呼び出そうとすると、実際には次のことが発生することに気付きました。
- Webサービスは正常に実行を開始します。
- アイテムに特別なアクセス許可が必要な場合、SharePointはHTTP401を送信します
ThreadAbortException
。 - ユーザーには資格情報ボックスが表示されます。
- ログイン後、Webサービスが再度呼び出されますが、今回は問題ありません。
これは基本的に、SharePoint呼び出しの前のコードがこのシナリオで2回実行されることを意味します。
コードを実行する前にクレデンシャルボックスを表示する正しい方法は何ですか?
これは、匿名アクセスがIISである場合に無効にする必要がありますか?私はそう思うが、Webプロジェクトの構成に不慣れなので、混乱している。