Страница 1 из 1

Расчет прав

Добавлено: 16 фев 2010, 13:31
bat_only
Вопрос по расчету прав, тем кто в теме.
Атлантис 27.
Групп 110. Есть пользователи с индивидуальными правами.
Пользователь может входить в несколько групп.
Есть пользовательские фильтры (простые)
Расчет падает по рантайму 216 или переполнение коллекции.
Приходиться пересчитывать по одной группе.

В конфиге есть жесткий пересчет прав и sqlroles=on.
Пересчитываем на БД и меню.
Падает и на Бд и меню.

Начали выделять людей из-за кого падает,
думаем что проблема в тех пользователях у кого
есть права на поля.

Если кто-то может сказать или предложить, напишите пожалуйста.

Добавлено: 16 фев 2010, 13:46
Maverick
совет один - фиксируйте проблему и пишите в техподдержку

Добавлено: 16 фев 2010, 13:50
bat_only
Показания разные..с ТП разговаривал, общие рекоммендации дали. Прежде чем идти к врачу нужно попробовать народную медицину

Добавлено: 16 фев 2010, 16:32
bat_only
Ошибка к этой же теме

Ошибка в потоке.
Чтение незарегистрированного объекта ID=57088

Добавлено: 16 фев 2010, 16:57
sth73
Была похожая проблема с падением support'ана 5.4.26, где как раз и сделали usesqlrole.
Так как пользователей много и пересчет прав по всем идет неприемлемо долго (тоже используем forcerights = on), то просто отказались (пока) от использования нового алгоритма расчета прав.
Потом нашли пользователя, при расчете прав которого падает support. Оказалось что у него некорректно заданы права - были два фильтра по чтению на одну таблицу. После исправления этого дела по этому пользователю расчет прошел нормально.
Что интересно, есть еще пользователь у которого два фильтра по чтению на одну таблицу, но при расчете для него support не падает, а выдает соответствующее сообщение.

Добавлено: 18 фев 2010, 11:41
bat_only
Отказались (пока) от использования нового алгоритма расчета прав.

это без usesqlrole?

Добавлено: 18 фев 2010, 14:41
sth73
я имею в виду, что новый - usesqlrole = on
старый - usesqlrole = off
сейчас остались на старом.

Добавлено: 10 мар 2010, 08:31
Прохожий
Как вообще жить с этой хреновиной?

Сейчас что, каждый раз после апдейтов надо будет:
1. Пересчитывать права с этими параметрами?
2. Ораклоидам гонять chkora с включенным параметром UserAndRights?

Или это достаточно сделать было 1 раз и можно выключать usesqlrole = on?

Как вообще работает вся эта кухня?

Добавлено: 10 мар 2010, 17:51
sth73
Этот параметр просто олицетворяет собой 2 алгоритма работы протекта. Поэтому при работе он может быть либо включен, либо выключен. То есть если вы используете старый алгоритм (usesqlrole=off), то вы его используете всегда. Точно также - если новый алгоритм (usesqlrole=on) - то тоже всегда. А не так что включил параметр, посчитал права и выключил.
При этом права пересчитывать и чекору запускать надо только при переходе на новый алгоритм и делать это надо один раз. Потом просто работаете как обычно, но только с включенным параметром.
Надо только помнить одну особенность - пользователи в базе не могут работать с разным значением параметра. Соответственно если параметр включили и кому-то права посчитали по новому алгоритму, то все, остальные пользователи в базу могут заходить тоже только после пересчета им прав по этому же новому алгоритму....

Добавлено: 11 мар 2010, 03:59
Прохожий
Благодарю. Если еще подскажете, какое влияние оказывает "жесткий" пересчет прав или ForceRights, буду вдвойне благодарен :)

Добавлено: 11 мар 2010, 15:38
sth73
про forcerights лучше читать вот тут
http://forum.galaktika.ru/viewtopic.php ... bb&start=0
Так сказать, из первых рук информация...
Но у меня есть свое мнение по поводу того, что там написано. А именно - имхо, все не так хорошо как там сказано. По моему опыту, хотя это и расходится напрочь с содержанием указанной статьи, следует пересчитывать права всегда с включенным forcerights (по крайней мере я так делаю :) ), хотя это и заметно медленнее. Дело в том, что я неоднократно встречался с ситуациями, когда при выключенном forcerights права считались некорректно.