我目前正在尝试将管理模式添加到我的cakephp网站。
我按照网上的教程添加了路由前缀:
Configure::write('Routing.prefixes', array('admin'));
然后我实现了登录和注销功能。
我将admin_view.ctp和admin_index.ctp添加到我想限制访问的模型中。因此,我删除了view.ctp和index.ctp,并期望只有管理员可以使用以下方式查看模型:
http://xxxx/model/admin/index
但是当我进入
http://xxxx/model/index
出现了我无法禁用的默认视图(它允许模型操作)。有没有标准的方法来禁用所有这些默认视图,还是我必须创建一个只显示错误消息的index.ctp和view.ctp?
答案 0 :(得分:2)
如果您想禁止某些操作,则需要设置ACL,其描述为here。对于身份验证,在控制器中你需要这样的东西:
class SomethingsController extends AppController
{
var $components = array('Auth');
//this will allow all users access to the index
//and view methods ( but not any other)
function beforeFilter() {
$this->Auth->allow('index','view');
}
// other actions
}
希望这有帮助。
答案 1 :(得分:0)
删除默认控制器方法:function index(), view(), add(), edit() and delete()
。删除* .ctp模板是不够的。