我正在使用cakePHP v 1.3在Windows(XAMPP)上开发一个应用程序。
大多数控制器都是在启用管理路由的情况下烘焙的。我想通过登录页面保护每个控制器的管理操作。我怎么能这样做而不重复呢?
该问题的一个解决方案是“我在每个控制器的admin_index操作中检查登录信息”,然后相应地显示登录屏幕。
有没有更好的方法呢?
admin(http://localhost/app/admin)的详细URL指向用户控制器的index_admin操作(在routes.php文件中为此创建了一个新路由)
答案 0 :(得分:6)
使用Authentication component。您可以使用以下内容为管理路由设置它:
// AppController::beforeFilter
function beforeFilter() {
if (isset($this->params['prefix']) && $this->params['prefix'] == 'admin') {
$this->Auth->deny('*');
...
}
}
只检查index
行为是没有意义的,这只是默默无闻,而不是安全。 AuthComponent将检查每个页面加载的权限。