Jstree и доступ пользователя к узлу - PullRequest
0 голосов
/ 11 ноября 2011

Моя проблема в том, что я хотел бы показать пользователю полное дерево для элемента / элементов (узлов / узлов), к которым у него есть доступ.Например, у меня есть такое дерево:

screen1

У меня есть таблица базы данных с полями: user_id, node_id В этой таблице хранится доступ пользователей к узлам.

Например, я имею в этой таблице следующие значения:

user_id ||идентификатор_узла

1 ||9

1 ||10

Я хочу, чтобы этот пользователь просматривал полное дерево узлов, к которым он имеет доступ, а именно:

screen2

Если я не могусделай так, у меня есть другое решение.Отобразить все дерево, и когда узел выбирается пользователем, чтобы проверить, есть ли у него доступ к нему.Но я бы хотел избежать этого решения и не показывать пользовательские узлы, к которым у него нет доступа.

Ответы [ 2 ]

0 голосов
/ 01 мая 2012

Если вы посмотрите на пример кода 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 для изменениякорневая папка в дереве.

Для каждого из ваших пользователей создайте новую строку в базе данных и затем используйте этот идентификатор в качестве корневой папки.

Затем просто измените 1 вid приписывает переменную и передает идентификатор пользователя root.

0 голосов
/ 11 ноября 2011

самый "безопасный" способ - это, вероятно, загрузка дерева с помощью json, так что вы можете обрабатывать авторизацию на стороне контроллера / бэкэнда вашего приложения

взгляните на jsTree JSON_data_plugin

...