1

我正在尝试 使用第三方文件管理器在我的CakePHP 应用程序管理部分中实现 CKEditor ( http://labs.corefive.com/2009/10/30/an-open-file-manager-for-ckeditor-3- 0/ )。

一切都设置得很好,包括上传照片等。但是,我有一个大问题,我似乎无法弄清楚如何解决。

filemanager.config.php文件中有auth()防止未经授权使用 FileManager 的功能。我不确定如何实现此功能,只允许我的应用程序管理员使用. 在我的用户表中,我用来group_id对用户进行分类,并且administrators group_id1.

我已经考虑过_SESSION,但我无法创建解决方案。

/**
*   Check if user is authorized
*
*   @return boolean true is access granted, false if no access
*/
function auth() {
    // You can insert your own code over here to check if the user is authorized.
    // If you use a session variable, you've got to start the session first                                               
    session_start();
    if ($_SESSION['User.group_id'] == 1){
        return true;
    }else{
        return false;
    }
}

预先感谢您的帮助。

==================================================== ====================================

编辑

我的整个设置都错了

  1. 我正在使用我的 CakePHP 会话作为数据库,我已将其更改为 php。
  2. 我的 $_SESSION 代码是错误的

我能够按照以下方法修复它:

function auth() {
    session_name("CAKEPHP");
    session_start();
    if(isset($_SESSION['Auth']['User']) )
    {
        if($_SESSION['Auth']['User']['group_id'] == 1)
        {
            return true;
        }
    }
    return false;
}

这样效果很好。

==================================================== ====================================

4

1 回答 1

1

您显示的代码来自 fceditor?如果您在 CakePHP 中正确设置了身份验证并且没有修改默认会话密钥,您的用户数据将在 $_SESSION['Auth']['User'] 中。

在 CakePHP 中不要直接使用 $_SESSION,而是使用 Session 组件。

于 2012-03-25T15:05:30.197 回答