Права доступа к экшнам
Дискуссии по фичесам
- actions {{UserAliases [users="1"]}} — показывает, какие есть алиасы и возможно список кто в них входит. Очень полезно, имхо.
- Как быть с правами?
- какие проблемы в этом?
- Я не хочу показывать состав групп никому, кроме членов этих групп и людей с расширенными правами.
- первое — ура и легко, имхо.
- второе — институт расширения сознания у нас не очень развит. Разве что только админы твои.
- Ку Ме: Проблема — необходимо понять, как в рамках концепции ограничивать доступ не к страницам а к другим сущностям, навроде actions. Пока что предлагается открыть подкаталог handlers/actions и нафигачить туда handlers. Как минимум rights/acl. Вон сколько уже напридумывали разнообразных ограничений прав. Надо единую концепцию.
- RomanIvanov — так. Ты предлагаешь по Login/acls показывать что? Я пока не вкуриваю в твою идею.
- Он же: что будет в связи с этим делать с all*?
- На первый вопрос я тебе ответил. на второй — вот именно.
- /Yuri Makarov: Все было бы намного проще, если бы все сущности (в том числе и страницы) представлялись в базе в виде объектов со стандартным набором атрибутов (Id, Obj Type?, Name, Author, ACL, ...., Body). Тогда был бы единый механизм для работы с ними. Скажем есть хандлер по умолчанию (default), и для некоторых типов могут быть специфические хандлеры со своими взглядами и функциями. Собственно содержание объекта хранится в поле Body, либо просто в виде строки (страница к примеру), либо в виде упакованного массива, если это структура. Но это наверное уже не для этой версии.
Вопрос 1. Нужны ли они?
- RomanIvanov думает, что не особо. В частности, в примере, приведённом уважаемым /Yuri Makarov удастся поглядеть только список пользователей и страниц, которые упомянуты, но ещё не созданы.
- С другой стороны, RomanIvanov думает, что они нужны. Примеры:
- allrecentchanges, allpageindex
- userlist
- upload
- С третьей стороны, /Ку Ме интересно сделать так, чтобы вообще запретить вызов actions всем, кроме админа.
Вопрос 2. Как делать?
Известны два основных варианта:
- наследовать права с некой особой страницы
- сделать кроме типа page, ещё тип action (и тип image etc), и написать для экшнов свои хэндлеры.
- /Ку Ме: у этого объекта понятно, будет свой вака-адрес и поведение ваки по этому адресу будет похоже на страницу, только с дополнительными опциями.
Есть ещё варианты?
Вопрос 3. Где взять время?
Ох...