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