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

Screamer

Новичок
Можно подробнее? Где именно читать? Я так понимаю, что при добавлении сообщения его можно сразу автоматически всунуть в дерево AXO?
 

kvf77

Red Devil
Можно всунуть в аксо, тока не сообщение а его скажем номер. К тому же, рекомендовал бы не номер сообщения всетки сувать, а то таблица у вас будет огромной, а немного реорганизовать.
 

kvf77

Red Devil
Я не понимаю чего более подробного ты хочешь? Я в доке перевел все АПИ класса - не понимаю. Читай, там все написано.
 

betik

Новичок
Почитал тред... Почитал доку.
И где на практике это применить?
Реальный пример кто-нить может назвать, куда этот танк стоит внедрять?
 

kvf77

Red Devil
А ты загляни на сайт производителя танков и посмотри там - там даны ссылки на конкретные работающие сайты, которые определяются данной системой. И вообще, вопрос глупый - как ты думаешь, где надо применять систему ограничения прав? Наверное там, где это требуется.
 

dzimedrol

Новичок
Неплохо было бы обсудить реальные варианты СУП (систем управления правами), поскольку тема действительно актуальная.
В phpGACL есть один недостаток, который в статье и упомянут: она не защищена от ошибки пользователя, то есть возможен случай вхождения пользователя во две взаимопротиворечащие группы. Не было времени читать всю ветку, возможно, есть еще явные "недостатки", но вот мой пример системы контороля доступа (выдумался только что, скорее всего гораздо хуже описанного в статье, просто как идея):
Два типа групп: группы разрешающие и группы запрещающие, причем второй тип групп приоритетнее первого.
Пример: группа "Имеющие доступ в машинное отделение" и группа "Не имеющие права ходить в сортир". При разборе сначала все DENY, потом разбираем В ЛЮБОМ порядке все группы разрешающие, затем все группы запрещающие и, наконец, индивидуальные права юзера. Создавать такие группы, очевидно, сложнее и неудобнее, но тем не менее проблему с несовместностью прав они решают полностью.
 

Huckster

Guest
Пример: группа "Имеющие доступ в машинное отделение" и группа "Не имеющие права ходить в сортир".
Очередной велосипед. Принципы Гакл, насколько я успел разобраться, примерно соответствуют принципам обычных ACL. Поэтому идея понятна всем, кто имел с этим дело. Незачем ее извращать и подходить с конца или сбоку.

Кстати, автору - большое спасибо за перевод. Я бы, наверно, прошел бы мимо этого замечательного продукта, если бы не наткнулся на этот топ.
 

dzimedrol

Новичок
История показывает, что если бы ничего в IT не извращали и не подходили сбоку мы бы до сих пор писали в машинных кодах.
 

kvf77

Red Devil
Есть там контроль - читай внимательно - в случае такой ошибки GACL выдаст тебе сообщение.

Автор оригинала: dzimedrol
Неплохо было бы обсудить реальные варианты СУП (систем управления правами), поскольку тема действительно актуальная.
В phpGACL есть один недостаток, который в статье и упомянут: она не защищена от ошибки пользователя, то есть возможен случай вхождения пользователя во две взаимопротиворечащие группы. Не было времени читать всю ветку, возможно, есть еще явные "недостатки", но вот мой пример системы контороля доступа (выдумался только что, скорее всего гораздо хуже описанного в статье, просто как идея):
Два типа групп: группы разрешающие и группы запрещающие, причем второй тип групп приоритетнее первого.
Пример: группа "Имеющие доступ в машинное отделение" и группа "Не имеющие права ходить в сортир". При разборе сначала все DENY, потом разбираем В ЛЮБОМ порядке все группы разрешающие, затем все группы запрещающие и, наконец, индивидуальные права юзера. Создавать такие группы, очевидно, сложнее и неудобнее, но тем не менее проблему с несовместностью прав они решают полностью.
 

dzimedrol

Новичок
Я вроде и не писал, что контроля нет. Я писал, что возможна конфликтная ситуация. А ведь она и впрямь возможно. Подчеркну: я ни в коем разе не пытаюсь "закритиковать" действительно проверенную временем систему. Боже упаси. Просто призываю к креативности. Ибо "самое сложное в науке — это именно избавиться от всех предрассудков, навязанных имеющимися знаниями, и посмотреть на проблему с новой стороны, подойти к ней так, как не подходил еще никто".
 

kvf77

Red Devil
На самом деле, ты напоминаешь мне далеко предыдущего аппонента. Я тебе скажу так: И невозможное возможно, свет мигнет, просто байт проскочит. Система реально следить за конфликтами, а ты почему-то считаешь это багой. По теории вероятности я думаю вероятно все. Что мешает тебе просто запретить действие, которое ведет к конфликту? Тогда ьы получишь то, к чему стремишься.

-~{}~ 04.02.05 17:01:

Как дополнение к твоей системе прав. Скажи, а однозначно запретить или разрешить кому-то делать что-то случайно - это баг или как? Твоя система однозначна, но является ли она непогрешимой? Она сложнее, так что автоматически больше подвержена подобным ошибкам.
 

dzimedrol

Новичок
Еще раз: я не говорил "баг". Опять непонимание. Я лишь сказал, что в системе возможна ситуация... Да, она детектится и пользователь предупреждается.
Чего на этой неделе все такие агрессивные? Предложишь порассуждать - шапками закидывают...
Моя система как математическая модель полностью исключает неоднозначности. Их просто невозможно создать. Как компенсация: она добавляет сложности человеческому фактору: права сложнее админить, больше шанс перепутать права (кому-что). Да я и не говорил, что она идеальна :). Давайте еще систем, подумаем вместе! Система ACL принимается. Одобрено, если угодно.
 

kvf77

Red Devil
Я не понимаю, тебе заняться больше нечем? Что толку от исключения неоднозначности как таковой, объясни мне? Никто тебя не закидывал шапками, просто размышлять только ради того, чтобы размышлять - это трата времени.
 

dzimedrol

Новичок
Все, kvf77, замяли. Нет проблем. Тебе нечем больше занятся кроме как отвечать на вопрос "кто знает как...." ответом "я не знаю"? Я понял, что ты для себя уже все решил. Чтож, это прекрасно. Дай высказаться другим, если есть кому высказаться.
Миру мир. Все люди братья.

-~{}~ 04.02.05 22:54:

много лет назад Пьеру Ферма нечем было занятся во время ланча. Он начал черкать на салфетке всякие глупости. Теперь его глупости называются "Великой теоремой", а над доказательством ее бились десятки лет. В конце концов добились, за это, кстати, заплатили сумму с шестью нулями.
 

Yurik

/dev/null
Недостаток этой системы (который возможно можно устранить, пока не вникал) который может ограничивать её применение - это одномерность самого ACL, т.е. мы имеем линейный набор прав которые даём или нет. В большинстве приложений этот набор матричный - есть набор действий и набор объектов.
Если взять пример из мануала - то часто нужно описать не только возможности пребывания в той или иной зоне, а и действия [сидеть | стоять | срать] чтобы можно было поставить что срать можно только в сортире а сидеть в машинном зале нельзя.
Применительно к более живым примерам - управление доступом к сайту. Есть например дерево разделов (как помещения в том примере) и набор действий (читать, добавлять, удалять, править и т.д.) и нужно для юзеров или групп назначать права.
Вариант расширять phpGACL "в лоб" - конвертировав матрицу доступа в линию (получится n*m ACL) не выход, т.к. накладен и не гибок (например он может расширяться в процессе работы, да и не учитывается специфика "комнат",- в случае разделов сайта - как назначить права на целую подветвь?)

В общем система хорошая, но круг задач не тот...

-~{}~ 06.02.05 05:30:

Или я не разобрался до конца с системой, или это не ACL в полном смысле. ACL подразумевает 3 категории (приведу наглядный пример на Unix правах):
- Кто (юзер/группа) - субъект
- Что (писать/читать/выполнять) - действие
- Над чем (Файлы/папки) - объект

phpGACL реализует только 2 из этих категорий (Кто-Что или Кто-Над чем, разница в реализации в принцыпе несущественная)

Т.е. если мыслить категориями прав Unix то тут можно реализовать только одно из двух:
- раздавать что юзер может делать (независимо от файлов и папок) - читать, писать или выполнять
- раздавать над чем юзер имеет полный доступ - полный список папок и файлов системы

Понятно что и в первом и во втором случае (во втором список системы прав придётся ещё постоянно синхронизировать со списком объектов) будет не секурити а полная анархия.

-~{}~ 06.02.05 05:44:

Это то о чём говорил csa, но почему то понять его никто не старался... как всегда

-~{}~ 06.02.05 06:21:

Вопрос снимается, эта вещь называется Объекты расширения доступа (AXO) и реализована!

kvf77: надо было сразу указать не неё для csa!
 

kvf77

Red Devil
Это перевод документации - я ничего не переставлял и не указывал - я просто перевел. С этим к автору документации :) Замечу, что половина высказывающихся считает своим долгом говорить мысли не дочитав до конца - ну это не серьезно. Сначала прочитайте, а потом уж. А то каждое второе сообщение начинается - я там читал но нифига не помню, но система не может... - Как-то глупо получается. И CSA я на это тыкал 50 раз - чуть ли не в каждом сообщении. Суть его возражений, кстати, была не в том, о чем ты щас написал.
 
Сверху