Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

пара багов в расширенных правах #190

Open
k11bytes opened this issue Nov 11, 2016 · 0 comments
Open

пара багов в расширенных правах #190

k11bytes opened this issue Nov 11, 2016 · 0 comments

Comments

@k11bytes
Copy link

k11bytes commented Nov 11, 2016

  1. Набор расширенных прав типа 'list' с использованием параметра 'hint1'=>'all_checkbox'. (в частности плагин приложения магазин - waRightConfig кроме init не переопределялись)
  • в приложении контакты в настройке прав конкретного контакта некорректно отображаются результирующие права: персонально общий чекбокс набора включен, а результирующие права на айтемы отсутствуют (примечательно что такие же (предоставленные посредством общего чекбокса) права набора в случае наследования от групп дают корректный результат)

  • waContact::getRights - если название такого права содержит '.' то данный блок кода метода:
    // check .all
    if (!$r && strpos($name, '.') !== false) {
    return $right_model->get($this->id, $app_id, substr($name, 0, strpos($name, '.')).'.all');
    }

сработает неверно (ожидая что первая точка в $name является разделителем названия права и айтема, что в общем случае приведет к запросу несуществующего права и отрицательному результату) .. эта проблема не является причиной бага, описанного выше.

  1. waContact::getRights возвращает наличие расширенных прав, несмотря на то, что доступ к данному приложению закрыт для пользователя. Смоделировать можно так: добавляем пользователя в группу дающую доступ к приложению, даем ему персонально расширенные права в этом приложении, исключаем его из группы - имеем наличие прав в приложении хотя визуально доступ к приложению закрыт .

  2. различные методы фреймворка возвращают значения расширенного права отличные от параметра VALUE, указанного в конфигурации этого права: напрмер PHP_INT_MAX для полного доступа к приложению \ админа, или 1 при выборе списка через общий чекбокс. "Не очень-то корректно" на вопрос: "10,20 или 30?" получать "1 или 100500"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant