jstree和用户访问节点

时间:2011-11-11 15:00:31

标签: jquery jstree

我的问题是我想向用户显示它有权访问的元素/元素(节点/节点)的完整树。 例如,我有一个这样的树:

screen1

我有一个包含字段的数据库表:user_id,node_id 该表存储用户对节点的访问权。

例如,我在此表中包含以下值:

user_id || NODE_ID

1 || 9

1 || 10

我希望该用户查看其有权访问的完整节点树,即:

screen2

如果我不这样做,我有另一种解决方案。 显示整个树,并在用户选择节点时检查他是否有权访问它。但我想避免使用此解决方案,并且没有显示它无法访问的用户节点。

2 个答案:

答案 0 :(得分:0)

最“安全”的方式可能是使用json加载树,因此您可以在应用程序的控制器/后端端处理授权

查看jsTree JSON_data_plugin

答案 1 :(得分:0)

如果查看PHP示例代码(index.html),您将在设置JSON数据时看到这一点:

"data" : function (n) { 
// the result is fed to the AJAX request `data` option
return { 
    "operation" : "get_children", 
    "id" : n.attr ? n.attr("id").replace("node_","") : 1 
};

1属性中设置数字id以更改树中的根文件夹。

为每个用户在数据库中创建一个新行,然后使用该ID号作为根文件夹。

然后,只需将1属性中的id更改为变量,然后传入用户root ID。