в общем есть элементы сайта которые, либо показываются, либо нет юзеру - каждому по своему . Как лучше сохранить разрешение на показ каждого элемента . Сперва думал в таблице пользователя , ток вот список элементов будет постояно увеличиватся и тогда мне придется к каждому юзеру в таблицу добавлять новый елемент...
Например, сделать табличку типа access какой-нибудь [sql]CREATE TABLE `users_access` ( `user_id` INT UNSIGNED NOT NULL DEFAULT 1, `element_id` INT UNSIGNED NOT NULL DEFAULT 1, UNIQUE KEY(`user_id`, `element_id`) );[/sql] И проверять по ней, есть ли у такого-то пользователя доступ к такому-то элементу
При постоянно растущем наборе прав и большом числе пользователей индивидуальная раздача прав или раздача на базе групп превращается в гемор. "Роли" помогут. Wiki: http://ru.wikipedia.org/wiki/RBAC Yii framework: интерфейс http://yiiframework.ru/doc/guide/ru/topics.auth вариант реализации: http://yiiframework.ru/doc/cookbook/ru/access.rbac.file
вот у меня 10к юзеров, порядка 1кк документов, юзер включен в от 3 до 500 групп, которые могут иметь по конкретному документу от 1 до 15 ролей. задача: вывести все документы, которые видит данный пользователь.