我正在使用CakePHP的Auth组件,我想知道什么是允许用户决定是否允许公共访问他们自己的页面的最佳方式,即。 /用户/用户名/公众。所以我在他们的个人资料页面中有一个复选框,并在数据库中为“公共”字段保存1或0。但是,什么是允许Auth组件有条件地允许访问此页面的最佳方法?
答案 0 :(得分:2)
这不是Auth组件的工作,而是自定义代码。
public function userProfile($username) {
$profile = $this->Profile->find('first', array('conditions' => array(
'username' => $username,
'public' => true
)));
if (!$profile) {
$this->cakeError('error404');
}
...
}
你可以使用isAuthenticated
回调,但绕过这个条件会变得有些混乱。 Auth组件正在处理一般身份验证,这种情况太专业,无法使用Auth。