SecurityComponent::requireAuth()
に保存されている必要なアクションの配列にそのアクションを追加しSecurityComponent::$requireAuth
ます。
セキュリティ コンポーネントのスタートアップ コードを見ると、ロックされていないアクションがチェックされる前に、配列SecurityComponent::_authRequired()
をチェックするメソッドが呼び出されていることがわかります。アクションを承認する必要がある場合は、承認されていないことをアプリに伝えるよりも優先する必要があると思います。$requireAuth
ドキュメントに明確に記載されているように、これはまだバグ(または誤って文書化されている)と見なします。
アクション (例: ajax リクエスト) のすべてのセキュリティ チェックを無効にしたい場合があります。beforeFilter の $this->Security->unlockedActions にリストすることで、これらのアクションを「ロック解除」できます。
これは新しい機能であるため、混乱を説明するチケットを開いて、コア チームがそれについてどう考えているかを確認することをお勧めします。
ここで、ajax リクエストに対してセキュリティ コンポーネントを無効にすることが常に必要であるとは限らないことにも注意してください。CSRF チェックと ajax を並べて、セキュリティ コンポーネントを正常に使用するアプリがいくつかあります。