私は、各ユーザーにコンテンツを表示できるプライベート ホームページを提供するサイトを構築していますが、他のユーザーは表示できません。_menu ハンドラーのコールバックは、ユーザーがページの所有者である場合はアクセスを許可し、それ以外の場合は拒否します。すべて順調です。
そのページを改訂して、コンテンツが大量のコードではなくボックスのセットで構成されるようにしました。コンテンツは正しくまとめられますが、問題があります。ユーザー A がユーザー B のプライベート ページを見ると、当然のことながら、アクセスが拒否されたページが表示されます。ただし、ブロックは引き続き呼び出され、ユーザー A がユーザー B のプライベートな内容を見ることができるように、ブロックのコンテンツはページ上に表示されます。また、通常の「このページにアクセスする権限がありません」というメッセージも表示されません。通常、アクセスが拒否されたページに表示されるメッセージ。
なぜこれが起こっているのか理解できません。適切に設計された「特定のページにブロックを表示する」機能をブロックに与えることで、ブロックが実行されないようにすることができますが、(a) 正しくないように思われる (b) 理解できないことがまだ起こっています。一緒に、これは、特にブロックに関連する方法で、サイトのアクセス制御で何が起こっているかについて、私に悪い/面白い感じを与えます. 誰でもここで洞察を提供できますか? ありがとう!