2009-06-19 6 views
1

複雑なので、ここで説明しようとします。"すべての人物"に存在しないユーザーのSharePoint 403エラー

  1. ユーザーとそのグループにSPサイトのアクセス権がない場合は、ログオン時に適切な「エラー:アクセスが拒否されました」SharePointページが表示されます。
  2. ユーザーがグループメンバーシップを通じて何かにアクセスできる場合は、 a。ユーザーが[すべてのユーザー]リストに表示されている場合、ユーザーはログオンして問題なくサイトを使用できます。 b。ユーザーが[全員]一覧に表示されていない場合、ユーザーにはIIS 403エラーページが表示されます。サーバーに戻ると、「アプリケーションプールを提供するプロセス[IISアプリケーションプール名]」がIISアプリケーションプールのクラッシュを示す「World Wide Web発行サービスとの致命的な通信エラーを起こしました」というイベントが発生します。ユーザーが熱心で、試し続けていると、彼は頻繁にアプリケーションプールをクラッシュさせ、最終的にはアプリケーションプールを停止させ、アプリケーションがダウンすることがあります。

フォーム認証とAsp.netメンバーシッププロバイダとロールプロバイダを使用しています。 2bが起こっているとき、SPは繰り返されているようです(致命的な通信エラーが起こってしまうまで、メンバーサービスプロバイダのGetUserメソッドを繰り返し呼び出す必要があります)。私はそれがinitilaのユーザープロフィールのインポートのためだと信じています。 2aが起きているとき、GetUserメソッドは呼び出されません。

Visitorsグループにユーザーを追加してVisitorsグループからユーザーを外して、そのユーザーを[すべてのユーザー]リストに追加してログオンできるようにすることができます。手動プロセスでは、メンバシッププロバイダGetUesrも呼び出されますが、一度だけ正常に動作します。

この問題は、ちょうど最近、1つの環境(PRODUCTION!)で発生し始めました。それはすべて問題なく、他の環境UATとトレーニング環境の両方にこの問題はありません。私たちは環境を比較し、明らかにすべてをチェックし、これを引き起こす可能性のある相違を見つけることはできませんでした。その生産には約110人のユーザーがいますが、それは他の環境よりはるかに多いですが、まだそれほど多くはありません。

誰でもお手伝いできますか?

+0

システムにカスタムコードがデプロイされていない場合は、http://serverfault.comでより良い回答を得ることができます。 –

答えて

0

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

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

希望これが見つかりました。問題の

シラーズ

+0

ありがとう。 ASP.NETメンバシッププロバイダに基づいてカスタムメンバシッププロバイダを実装しました。したがって、2つの環境ではまったく同じです。ただし、メンバーシッププロバイダの場合、GetUserメソッドは別のWebアプリケーションからWebサービスを呼び出します。 Webサービスは、呼び出しが正常に実行されたことを報告しています。 –

0

原因に役立ちます。 All Peopleリストの詳細設定では、Item Level Edit権限がnoneに設定されています。

関連する問題