在CakePHP中,如何创建来宾帐户而不实际将其放入db中?
所以我有一个非常典型的用户模型,没有什么特别之处。我希望能够在没有其他用户登录时将此模型用作来宾用户 有没有办法在CakePHP中创建来宾帐户,或者在没有设置帐户时创建某种默认帐户,以便Auth包含该帐户 因此,例如,id将设置为0,username将设置为guest,等等 谢谢,,在CakePHP中,如何创建来宾帐户而不实际将其放入db中?,cakephp,model,Cakephp,Model,所以我有一个非常典型的用户模型,没有什么特别之处。我希望能够在没有其他用户登录时将此模型用作来宾用户 有没有办法在CakePHP中创建来宾帐户,或者在没有设置帐户时创建某种默认帐户,以便Auth包含该帐户 因此,例如,id将设置为0,username将设置为guest,等等 谢谢,, James您可以覆盖用户模型中的find方法,这样当Auth调用它(内部)时,您可以截取它并返回您想要的任何内容。类似这样的内容(在您的用户模型上): 您可以在您的用户模型中覆盖find方法,这样当Auth调用它(
James您可以覆盖
用户
模型中的find
方法,这样当Auth
调用它(内部)时,您可以截取它并返回您想要的任何内容。类似这样的内容(在您的用户
模型上):
您可以在您的
用户
模型中覆盖find
方法,这样当Auth
调用它(内部)时,您可以截取它并返回您想要的任何内容。类似这样的内容(在您的用户
模型上):
只需将其添加到会话中
$this->Session->write(AuthComponent::$sessionKey, array(
'User' => array(
'id' => 0,
'username' => 'guest'
)
));
只需将其添加到会话中
$this->Session->write(AuthComponent::$sessionKey, array(
'User' => array(
'id' => 0,
'username' => 'guest'
)
));
在AppController中:
public function beforeFilter() {
if(!$this->Auth->loggedIn()){
$this->loadModel('User');
$user = $this->User->findById(0); //Guest user id
$this->Auth->login($user['User']);
}
}
这在CakePHP2.2中非常适用。
它允许通过AppController中的web界面进行权限配置,包括来宾权限::
public function beforeFilter() {
if(!$this->Auth->loggedIn()){
$this->loadModel('User');
$user = $this->User->findById(0); //Guest user id
$this->Auth->login($user['User']);
}
}
这在CakePHP2.2中非常适用。
它允许通过web界面进行权限配置,包括来宾的权限:这可以工作,但有点太多了。。嗯,钝力,我正试图以一种更流畅的方式来做。我想我可能已经找到了一个解决方案,谢谢你的意见!我很想看看你有什么想法!当然,一旦我解决了问题,我会把它发布给其他人使用。:)这可能行得通,但有点太。。嗯,钝力,我正试图以一种更流畅的方式来做。我想我可能已经找到了一个解决方案,谢谢你的意见!我很想看看你有什么想法!当然,一旦我解决了问题,我会把它发布给其他人使用。:)这看起来很有趣,我也许能让它工作。我会试着回来更新我的结果。非常感谢。这看起来很有趣,我也许能让它工作。我会试着回来更新我的结果。非常感谢。