複雑なので、ここで説明します。
- ユーザーとそのグループが SP サイトの何に対してもアクセス権を持っていない場合、ユーザーはログオン時に適切な "Error:Access Denied" SharePoint ページを取得します。
- ユーザーが自分のグループ メンバーシップを通じて何らかのアクセス権を持っている場合、a. ユーザーが [すべてのユーザー] リストに表示されている場合、ユーザーは問題なくログオンしてサイトを使用できます。b. ユーザーが [すべての人] リストに含まれていない場合、そのユーザーには IIS 403 エラー ページが表示されます。サーバーに戻ると、「アプリケーション プール '[IIS アプリ プール名]' を提供しているプロセスで、World Wide Web Publishing Service との致命的な通信エラーが発生しました」というイベントが発生します。これは、IIS アプリ プールでのクラッシュを示しています。ユーザーが熱心に試行し続けると、アプリ プールが頻繁にクラッシュし、最終的にアプリ プールが停止してアプリケーションがダウンする可能性があります!!!
フォーム認証と Asp.net メンバーシップ プロバイダーとロール プロバイダーを使用しています。2bが発生しているとき、SPはメンバーシッププロバイダーのGetUserメソッドを繰り返し(1回だけにする必要があります)呼び出しているようです(致命的な通信エラーが発生するまで)。initila ユーザー プロファイルのインポート用だと思います。2a が発生している場合、GetUser メソッドは呼び出されません。
ユーザーを訪問者グループに追加してから、そのユーザーを訪問者グループから外すなどの操作を手動で行うことができます。これにより、ユーザーはすべてのユーザー リストに追加され、ログオンできるようになります。手動プロセス中に、メンバーシップ プロバイダー GetUesr も呼び出されますが、1 回だけで正常に動作します。
この問題は最近発生し始めたばかりで、1 つの環境 (本番環境!) でのみ発生しました。それはすべて問題なく、他の環境の UAT とトレーニング環境の両方にこの問題はありません。環境を比較し、すべての明らかな点を確認しましたが、これを引き起こす可能性のある違いは見つかりませんでした. プロダクションには約 110 人のユーザーがいます。これは他の環境よりも多いですが、まだ多くはありません。
誰でも助けることができますか?