我试图在我的 cakephp-app 中实现一些如此基本的东西,我很惊讶我没有轻易找到解决方案......
我只想为我的应用程序的主导航设置可用链接,具体取决于用户是否登录以及是否登录,具体取决于他的角色(存储在用户表中)。
所以基本上是这样的功能:
if(!$this->request->is('ajax')) {
if(_user_is_not_logged_in_) {
$availableNavItems = array('login','help');
}
else {
if($this->Auth->User('role') == 'user') {
$availableNavItems = array('something','something else','whatever','help','logout');
}
elseif($this->Auth->User('role') == 'admin') {
$availableNavItems = array('something','something else','whatever','admin-tool','user management','help','logout');
}
}
// set available pages for layout
$this->set('availableNavItems',$availableNavItems);
}
当然,在我的布局中,我会创建一个导航栏,其中包含指向这些可用页面的链接。
我唯一的问题 - 我将把上面的代码放在哪里?我可以在 AppController 中放入 cakephp 在每个请求上调用的回调函数吗?而且,什么是检查我上面写的伪代码“_user_is_not_logged_in_”的好方法?
提前感谢您的帮助!