【问题标题】:How do I secure all the admin actions in all controllers in cakePHP如何保护 cakePHP 中所有控制器中的所有管理操作
【发布时间】:2010-05-17 07:24:43
【问题描述】:

我正在 Windows (XAMPP) 上使用 cakePHP v 1.3 开发应用程序。

大多数控制器都是在启用管理路由的情况下烘焙的。我想通过登录页面保护每个控制器的管理操作。如何在不重复的情况下做到这一点?

该问题的一种解决方案是“我在每个控制器的 admin_index 操作中检查登录信息”,然后相应地显示登录屏幕。
有没有更好的方法来做到这一点?

管理员的默认 URL (http://localhost/app/admin) 指向用户控制器的 index_admin 操作(在 routes.php 文件中为此创建了一个新路由)

【问题讨论】:

    标签: security cakephp routes admin cakephp-1.3


    【解决方案1】:

    使用Authentication component。您可以为管理员路由设置它,如下所示:

    // AppController::beforeFilter
    function beforeFilter() {
        if (isset($this->params['prefix']) && $this->params['prefix'] == 'admin') {
            $this->Auth->deny('*');
            ...
        }
    }
    

    仅检查 index 操作是没有意义的,这只是晦涩难懂,而不是安全性。 AuthComponent 将检查每个页面加载的权限。

    【讨论】:

    • :-) 谢谢 deceze。你是对的,检查索引操作是没有意义的,这就是为什么我在这里发布我的问题,因为我确信我会得到一个专家和完美的答案。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    相关资源
    最近更新 更多