1

複雑なので、ここで説明します。

  1. ユーザーとそのグループが SP サイトの何に対してもアクセス権を持っていない場合、ユーザーはログオン時に適切な "Error:Access Denied" SharePoint ページを取得します。
  2. ユーザーが自分のグループ メンバーシップを通じて何らかのアクセス権を持っている場合、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 人のユーザーがいます。これは他の環境よりも多いですが、まだ多くはありません。

誰でも助けることができますか?

4

2 に答える 2

0

以下のコメントに基づいて、Web サービスへの呼び出しの、 GetUser のカスタム実装でエラーが発生しているようです。また、データが最も多い環境でのみ発生しています。

したがって、次に確認することは、Web サービスの呼び出しと getuser の戻りの間のコードです。最大長が設定されている配列はありますか? どのデータが配列内の特定のアイテムに含まれているかについて、何らかの仮定をしていますか? Web サービスが有効な結果を返していることをどのように確認/記録しますか?

お役に立てれば

シラーズ

于 2009-06-19T03:00:11.297 に答える
0

問題の原因が見つかりました。すべての人リストの詳細設定では、アイテム レベルの編集権限がなしに設定されています。

于 2009-06-23T04:39:12.903 に答える