Aclを使用して登録解除/ログに記録されていないユーザーのアクセスを制御したい-セットアップし、動作をテストしました。新しいグループ、ユーザーを作成し、ユーザーをグループに追加し、特定のコントローラーアクションのグループ権限をセットアップできます
unregisteredというユーザーグループとtempというユーザーを作成しましたが、ページに入ったログに記録されていないユーザーをそのユーザーとグループに割り当てる(マップする)方法がわかりませんか?
あなたは正しい方向に進んでいます-あなたは「匿名の」ユーザーとグループを定義しました。次のステップは、匿名ユーザーを「匿名」ユーザーとして自動的にログインすることです(ばかげているように聞こえますが、私を信じてください)。これにより、登録ユーザーであるかのように、テーブルにACL権限を設定できます。
@Travis Leleu-登録済みのユーザー/グループの権限を定義するための認証用のテーブルがすでに存在するのに、登録されていない匿名ユーザー用の2番目の個別のテーブルがあるのはなぜですか?
ACL 構造でデフォルトの許可ルールを指定するのはなぜですか?
次のアクションへの匿名アクセスを許可するとします: register、about、someotherpage
また、ACL を介してアクセスを制御したい: 編集、返信、プロフィール
Auth コンポーネントでは、Auth::allow プロパティを設定できます。これは、すべてのユーザー (ログイン ユーザーと非ログイン ユーザーの両方) にアクセスを許可するさまざまなコントローラー アクションを指定します。そのため、コントローラー (グローバルに適用する AppController またはそのコントローラーのみに適用する SpecificController のいずれか) で、次のように指定します (通常は Controller::beforeFilter() メソッドで):
$this->Auth->allow = array( 'register', 'about', 'someotherpage' );
次に、Auth は他のページへのアクセスのみを制限します。私があなたの質問を正しく読んでいると仮定すると、これはあなたがやろうとしていたことよりもはるかに簡単なはずです.
チッ!