Структура базы данных для разграничения доступа и полномочий

lexlex

Новичок
Структура базы данных для разграничения доступа и полномочий

Может кто подскажет какие создать таблицы для оптимальной струтуры базы данных.
Существует три группы пользователей по полномочиям.
Администратор(один), менеджеры и простые пользователи.
Администратор может создавать менеджеров. Менеджеры могут создавать группы, в которые добавлять пользователей.
Пользователи могут регистрироваться сами, но не могут добавлять себя в группы созданные менеджерами.
Менеджеры не могут видеть пользователей и группы друг друга. У всех пользователей в группах созданных менеджерами полномочия равны. Разделение на группы нужно лишь для окончательного подсчета результатов.
 

Hank

Guest
NestedSet
Только я до сих пор не разобрался с ним и пошёл в обход, если интересует, напиши на мыло
 

Кром

Новичок
Вообще, если отталкиваться строго от описания, то тут ни NestedSets ни GACL не нужен. В описании нет ни слова о вложенности. :)
 

lexlex

Новичок
>В описании нет ни слова о вложенности. :)
Точно подмеченно. Меня интересует только структура таблиц, какие поля лучше использовать.
Если я правильно понял в дереве будет хранится информация как о пользователях так и контексте сайта.

Вот нашел примерную структуру таблиц для древовидного хранения. Хотелось бы услышать отзывы о ней.

create table files (
rid bigint(20) not null default '0',
name varchar(100) not null,
`file` longblob not null,
index a (rid),
index b (name));

create table nodes (
rid bigint(20) not null auto_increment,
caption varchar(100) not null,
`type` varchar(100) not null,
owner bigint(20),
notes varchar(100),
id bigint(20),
ok tinyint(1) default '0',
modifydate bigint(20),
xmldata mediumblob,
primary key (rid));

create table tree (
parent bigint(20) not null default '0',
child bigint(20) not null default '0',
primary key (child),
index parent (parent));
 

Hank

Guest
Хех, я тоже не использую не NestedSets ни GACL, и нет желания их испольлзовать, лучше пользоваться своей структурой. Я так понял в них можно обойтись одной таблицей, если не прав прошу прощенья, у меня две и всё нормально с правами. Зачем всё усложнять?
 

lexlex

Новичок
Автор оригинала: Hank
Хех, я тоже не использую не NestedSets ни GACL, и нет желания их испольлзовать, лучше пользоваться своей структурой. Я так понял в них можно обойтись одной таблицей, если не прав прошу прощенья, у меня две и всё нормально с правами. Зачем всё усложнять?
Может приведешь здесь или на мыло эти две таблицы, если это не большая тайна.
 

Кром

Новичок
>Вот нашел примерную структуру таблиц для древовидного хранения. Хотелось бы услышать отзывы о ней.

О дампах этих таблиц ничего особенного сказать нельзя кроме того, что судя по твоему описанию, тебе это не подходит.
Сейчас тебе нужны два таблицы:
users:
user_id
user_name
user_type
user_group_id

groups:
group_id
group_name

И связь:
user_group_id - group_id
 

lexlex

Новичок
Я здесь привел не полное описание свое базы. Решил остановится на древовидной струтуре хранения. Какие есть возможности ее реализовать за исключением вышеперечисленных.

Кром, получается в таблице groups будет храниться только три записи администратор, менеджеры, пользователи.
 
Сверху