phpGACL - система управления правами (русская документация)

csa

Guest
а если добавить и навязанное гаклом требование однозначности, то для каких-то действий может потребоваться кардинально все менять

-~{}~ 09.12.04 16:55:

Автор оригинала: kvf77
Милый, NEWS_READER - зайди в словарик почитай буквальный перевод пожалуйста.
а если "дорогой" подумает, то поймет, что это "человек, читающий новости", и не будет умничать


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

Обясни это высказывание применительно к своей системе и объясни почему оно не работает (а оно работает) на phpGACL?
если для объекта заданы правила, они действуют для потомков, если данные правила не переопределены у них.
я не говорил, что в гакле оно не работает :) я пытался узнать, как это сделать. ты так и не ответил

-~{}~ 09.12.04 16:59:

и кстати,
>нет необходимости указывать права для каждого человека
не потому что что-то там наследуются, а потому что есть группы (сюрприз, сюрприз! купи себе очки)

-~{}~ 09.12.04 17:05:

все же раскажи, как ты рулишь отношениями в твоей системе
>У меня есть система где очень большое кол-во объектов - намного больше чем пользователей

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

csa

Guest
да.. что-то стали выдыхаться :)
пора бы уже и домой..
 

Gas

может по одной?
Bred Vilchec
Да ладно, не только им это интересно. Тоже слежу. Может и я пойму, что возможность просмотра юзеров/групп, которые имеют доступ к объекту мне не нужна. Но пока вижу от этого только плюсы.
 

kvf77

Red Devil
Автор оригинала: Gas
Bred Vilchec
Да ладно, не только им это интересно. Тоже слежу. Может и я пойму, что возможность просмотра юзеров/групп, которые имеют доступ к объекту мне не нужна. Но пока вижу от этого только плюсы.
Эта возможность нужна и она есть :) Товарищ как раз хотел смотреть на юзеров через объекты - что не очень понятно зачем надо.
 

Gas

может по одной?
kvf77
сори, наверное не так выразился :)
Я как бы поддерживаю csa и наличие такой возможности
смотреть на юзеров через объекты
кажется удобным.
 

csa

Guest
kvf77
так что, ты расскажешь про рулеж отношениями в твоей системе "где очень большое кол-во объектов - намного больше чем пользователей"?
мне действительно интересно, может я тогда смогу лучше понять преимущества гакла
 

kvf77

Red Devil
Ну все очень просто - группирую объекты в иерархию AXO. Что тут сложного? И даю права на определенные ветки AXO.
 

Romantik

TeaM PHPClub
csa
Я, прочитав статью и посмотрев алгоритм использования phpGACL в довольно таки интересной CMS Mambo, нашел ответы НА ВСЕ СВОИ и ТВОИ вопросы. Удели официальному сайту phpGACL в частности скачав и попробовав examples, а так же админ часть Mambo, и себе и другим сбережешь нервы и время =)
 

kvf77

Red Devil
Romantik
Ну я, в общем-то, пытался именно это ему сказать - человеку видимо лень разбираться.
 

Romantik

TeaM PHPClub
kvf77
Спасибо за топик- как раз вовремя. Изобретенный мною велосипед для нового движка, оказался слабее, чем phpGACL.

Вот только один нюанс я не могу понять как реализовать спомощью phpGACL:
К примеру есть у Юзера "список друзей", у каждого свой.
И добавляя новость, юзер желает, что бы видели эту нововсть только его список.
 

kvf77

Red Devil
Автор оригинала: Romantik
kvf77
Спасибо за топик- как раз вовремя. Изобретенный мною велосипед для нового движка, оказался слабее, чем phpGACL.

Вот только один нюанс я не могу понять как реализовать спомощью phpGACL:
К примеру есть у Юзера "список друзей", у каждого свой.
И добавляя новость, юзер желает, что бы видели эту нововсть только его список.
В административном списке пользователя даешь ему возможность создавать группу друзья, после чего он может в нее добавлять пользователей. У группы "Друзья" он может выставить права по умолчанию.
 

Bred Vilchec

Новичок
Хм...или я плохо читал документацию (или что-то забыл) или
phpGACL рассматривает ACO (объекты для доступа) только как линейные,
т.е. даже отдельные невзаимосвязанные единицы?
Иными словами, работа с деревьями ACO невозможна?

То есть, например, на сайте нужно разграничить привелегии на
действия с новостями. Допустим, одному пользователю
нужно сразу назначить доступ ко всем операциям с новостями:
добавление, редактирование, удаление (я хочу просто: "ALLOW: news");
а другому пользователю - только редактирование
(хотелось бы: "ALLOW: news.edit", к примеру).

Возможно ли это сделать на phpGACL?
 

kvf77

Red Devil
Ты неправильно читал или зыбыл :)
Если ты работаешь с линейной схемой, то ты прав. Для нелинейной схемы есть AXO - там есть дерево с которым ты работаешь так же как с деревом ARO, а ACO превращаются из объектов в совершаемые действия.
Прмер:
линейная ARO (Люк) -> ACO (Дверь)
не линейная ARO (Люк) -> ACO (Открыть) -> AXO (Дверь)
 

Bred Vilchec

Новичок
Ок, спасибо.:))
Видимо, читал я как-то поверхностно, не вникнув толком...

Иду перечитавыть, углубляться, что ж делать:)
 

Screamer

Новичок
А как в GACL реализовать вот такое правило: в форуме редактировать сообщения может только их создатель?
 

Bred Vilchec

Новичок
Я думаю, phpGACL для этого не предназначен - у тебя будет слишком много пользователей (ARO)и объектов доступа(ACO). Лучше не заморачивать под это дело гакл, а самому проверять на равенство ID пытающегося редактировать сообщение и ID автора этого сообщения.
 

kvf77

Red Devil
Если это у тебя НЕПРИЛОЖНОЕ правило и исключений быть не может и пользователи не передают друг другу прав, то зачем тебе phpGACL? Это просто фича форума и мало имеет отношения к правам. Хотя phpGACL прекрасно справится с твоей задачей, но целесообразность этого действия непонятна. phpGACL и подобные системы нужны когда есть потребность изменять права пользователей, а если у тебя раз и навсегда записаное правило - смысла нет.
 

Screamer

Новичок
Автор оригинала: kvf77
Если это у тебя НЕПРИЛОЖНОЕ правило и исключений быть не может и пользователи не передают друг другу прав, то зачем тебе phpGACL?
Как раз система прав не ограничивается только этим. Например, администратор может редактировать все, что захочет, модераторы могут редактировать только определенные в индивидуальном порядке форумы, а юзеры только свои сообщения. Первые два правила в GACL вписываются, а вот что с третьим? Тут можно было бы сделать ветку дерева "Все сообщения", в ней две подветки - "свои сообщения" и "не свои сообщения". И отношение юзера к одной из подветок определяется динамически, какой-то функцией, а не статически. Это реально так сделать?
 

Bred Vilchec

Новичок
Screamer
Модераторов и админов можешь обслуживать phpGACLом, а вот для обычных юзеров - это имхо очень большое излишество...

Кстати, "свои сообщения" и "не свои сообщения" вообще в phpGACL не реализуешь...
 
Сверху