Wadik |
|
---|---|
Хотел бы поднять такую проблему: У нас есть таблица cot_auth в базе. Какой смысл при создании каждой категории страниц на сайте вставлять в эту таблицу по несколько записей со стандартными правами?! Получается, что при 500 категориях на сайте эта таблица разрастается чуть ли не в 3-4 раза. Может имеет смысл вставлять только параметры прав тех категорий, которые отличаются от стандартных? Тем самым и кеш бы не забивался, и база бы в разы уменшилась.
Добавлено 12 минут спустя: Еще раз детально посмотрел. Получается, что на 1 категорию добавляются 6 записей. И все однотипные, которые указывают на стандартные права к этой категории. Таким образом база с увеличением числа категорий разрастается в 6 раз! |
|
This post was edited by Wadik (2012-02-27 18:08, 12 years ago) |
Dayver |
|
---|---|
6 это если вы не добавили новых групп пользователей ... а если у вас 500 категорий и 100 групп пользователей то в этой таблице уже будет 500*100 записей +кол-во плагинов\модулей*100 .... вот А по сути вопроса - а что считать стадарными? ведь 6 записей на категорию это в случае стандартного набора групп пользователей, а как тогда считать стандартные если добавятся новые группы? Добавлено 2 минуты спустя: Но даже при таких обьемах размер таблицы уж не слишком большой потому лично я не вижу смысла что то урезать ибо явно пострадает гибкость системы прав. Если все же есть конкретные предложения не во вред гибкости тогда с радостью выслушаем Pavlo Tkachenko aka Dayver
|
Wadik |
|
---|---|
По поводу нестандартных групп я конечно не додумал... Верно Вы подметили, Dayver. Группы создаются на основе имеющихся 6 предустановленных. Поэтому составить матрицу с дефолтными правами думаю не составит труда. А гибкость и не пропадет. Оставить возможность устанавливать отдельные права для каждой категории думаю разумно. Мое предложение не добавлять каждый раз при создании категории в базу cot_auth стандартную матрицу прав доступа, а лишь предусмотреть ее 1 раз в программной части. |
esclkm |
|
---|---|
да и в 09 уже есть бесправные группы пользователей Добавлено 57 секунд спустя: а оптимизованный код под то все???? littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты |
Trustmaster |
|
---|---|
Проблема лишних групп решается бесправными группами, как esclkm заметил. Что касается элементов, то там сложнее. Если коротко: сейчас для авторизации используется матрица доступа (МД). Она большая и прямоугольная, но в ней можно очень быстро найти нужную ячейку, сложность поиска O(1). Если экономить место, то от матрицы надо переходить к дереву. Даже если не обращать внимание на усложнение алгоритмов хранения прав, то сложность поиска увеличивается до O(N), где N - глубина элемента от корня сайта. На практике это означает, что такие права будут работать значительно медленнее и сложнее. Поэтому мы пока от этого отказались, тем более даже на огромных сайтах пока cot_auth справляется со своей задачей. May the Source be with you!
|
Wadik |
|
---|---|
Теперь понятно. Значит я ошибался. Спасибо за информацию! |