bigwig писал(а):большое спасибо за статью
Не за что.
bigwig писал(а):Однако, как мне кажется, некоторый аспект в этой статье не затронут: Существуют такие права как: прикреплять вложения, скачивать файлы, игнорировать флуд-контроль, использовать подпись, которые находятся сразу в двух группах: глобальных и локальных.
Цитата из статьи:
Строго говоря, выделение в отдельный тип Forum Permissions - Права доступа к форумам, следует считать условным. Это сделано с целью удобства кодирования и использования. Фактически же, нельзя назначить право доступа к форуму абстрактно, без привязки к конкретному пользователю (или группе). И по сути - это всего лишь Локальные пользовательские права. Подтверждением этому может служит тот факт, что такие права как: прикреплять вложения, скачивать файлы, игнорировать флуд-контроль, использовать подпись - имеются сразу в двух группах: как глобальные - в Пользовательских правах, и как локальные - в Правах доступа к форумам. Но с точки зрения кода - это "разные" права, и их значения храняться в разных полях базы данных (u_attach, u_download, u_ignoreflood, u_sig, f_attach, f_download, f_ignoreflood и f_sigs).
bigwig писал(а): Если это право выставлено для некоего пользователя, как "нет" в глобальной группе и как "да" в в локальной, то "нет" в глобальной группе является более сильным значением
НЕТ не является запретом. НЕТ означает, что значение не установлено (нет значения)
Возможны три варианта значения настройки права:
- Право не установлено. Соответствует значению НЕТ на вкладке настройки расширенных прав. Самая "слабая" настройка.
- Право разрешено. Соответствует значению ДА на вкладке настройки расширенных прав. Более "сильная" настройка.
- Право запрещено. Соответствует значению НИКОГДА на вкладке настройки расширенных прав. Самая "сильная" настройка.
bigwig писал(а):Подвожу итог:1. Локальные маски доступа не показывают суммирующее значение с глобальными правами доступа.
В данном случае - нет, не показывают, потому что показывать нечего.
Ваш пользователь действительно не имеет права прикреплять вложения ВЕЗДЕ. Что вам и показывается на первом скрине.
Но он имеет право прикреплять вложения в конкретном форуме, что вам и показывается на втором скрине. Кроме того, это вообще разные группы прав.
bigwig писал(а):2. Несмотря, на то, что значение "Да" сильнее, чем "Нет", в описываемом случае рашающим фактором становятся глобальные права, даже с более слабым значением.
Никакого решающего фактора
в данном случае глобальные права не имеют. Будет срабатывать более сильное значение.
Сложение значений с учётом "глобализма", назначенных глобально и локально происходит по одной группе прав, которые могут назначаться как глобально, так и локально - модераторских.
Цитата из статьи:
Значение настройки права НИКОГДА (право запрещено) более сильное и перекрывает значение ДА (право разрешено), за исключением Модераторских прав, которые могут быть назначены как глобально, так и локально. И значение ДА настройки конкретного права, если оно назначено глобально, будет сильнее значения НИКОГДА того же права, назначенного локально. Это означает, что если в каком-либо форуме вы запретите пользователю, например, удалять чужие сообщения, но данному пользователю у вас назначена роль Супремодератора, где все права, в том числе и право "Может удалять сообщения", назначены глобально, то он по-прежнему будет иметь возможность удалять сообщения в этом форуме. Право будет считаться разрешённым. (смотри картинку выше)
Добавлено спустя 32 минуты 26 секунд:
bigwig
Вы, пожалуй, правы в одном:
bigwig писал(а):Локальные маски доступа не показывают суммирующее значение с глобальными правами доступа.
То есть, для перечисленных 4 прав возможна ситация, когда действие глобально разрешено (ДА), а локально не установлено (НЕТ). И будет срабатывать локальная настройка.
А также при просмотре лоакльного значения права не видна настройка глобального права (по аналогичному действию).
Потестим, подумаем.