Расчет прав
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный гость
- Сообщения: 92
- Зарегистрирован: 06 апр 2007, 18:21
- Откуда: Казань
- Контактная информация:
Расчет прав
Вопрос по расчету прав, тем кто в теме.
Атлантис 27.
Групп 110. Есть пользователи с индивидуальными правами.
Пользователь может входить в несколько групп.
Есть пользовательские фильтры (простые)
Расчет падает по рантайму 216 или переполнение коллекции.
Приходиться пересчитывать по одной группе.
В конфиге есть жесткий пересчет прав и sqlroles=on.
Пересчитываем на БД и меню.
Падает и на Бд и меню.
Начали выделять людей из-за кого падает,
думаем что проблема в тех пользователях у кого
есть права на поля.
Если кто-то может сказать или предложить, напишите пожалуйста.
Атлантис 27.
Групп 110. Есть пользователи с индивидуальными правами.
Пользователь может входить в несколько групп.
Есть пользовательские фильтры (простые)
Расчет падает по рантайму 216 или переполнение коллекции.
Приходиться пересчитывать по одной группе.
В конфиге есть жесткий пересчет прав и sqlroles=on.
Пересчитываем на БД и меню.
Падает и на Бд и меню.
Начали выделять людей из-за кого падает,
думаем что проблема в тех пользователях у кого
есть права на поля.
Если кто-то может сказать или предложить, напишите пожалуйста.
Была похожая проблема с падением support'ана 5.4.26, где как раз и сделали usesqlrole.
Так как пользователей много и пересчет прав по всем идет неприемлемо долго (тоже используем forcerights = on), то просто отказались (пока) от использования нового алгоритма расчета прав.
Потом нашли пользователя, при расчете прав которого падает support. Оказалось что у него некорректно заданы права - были два фильтра по чтению на одну таблицу. После исправления этого дела по этому пользователю расчет прошел нормально.
Что интересно, есть еще пользователь у которого два фильтра по чтению на одну таблицу, но при расчете для него support не падает, а выдает соответствующее сообщение.
Так как пользователей много и пересчет прав по всем идет неприемлемо долго (тоже используем forcerights = on), то просто отказались (пока) от использования нового алгоритма расчета прав.
Потом нашли пользователя, при расчете прав которого падает support. Оказалось что у него некорректно заданы права - были два фильтра по чтению на одну таблицу. После исправления этого дела по этому пользователю расчет прошел нормально.
Что интересно, есть еще пользователь у которого два фильтра по чтению на одну таблицу, но при расчете для него support не падает, а выдает соответствующее сообщение.
-
- Постоянный обитатель
- Сообщения: 134
- Зарегистрирован: 23 мар 2007, 05:38
- Откуда: Дальний Восток, Хабаровск
- Контактная информация:
Как вообще жить с этой хреновиной?
Сейчас что, каждый раз после апдейтов надо будет:
1. Пересчитывать права с этими параметрами?
2. Ораклоидам гонять chkora с включенным параметром UserAndRights?
Или это достаточно сделать было 1 раз и можно выключать usesqlrole = on?
Как вообще работает вся эта кухня?
Сейчас что, каждый раз после апдейтов надо будет:
1. Пересчитывать права с этими параметрами?
2. Ораклоидам гонять chkora с включенным параметром UserAndRights?
Или это достаточно сделать было 1 раз и можно выключать usesqlrole = on?
Как вообще работает вся эта кухня?
Галактика 8.10, Oracle 10g patch 10.2.0.4
Этот параметр просто олицетворяет собой 2 алгоритма работы протекта. Поэтому при работе он может быть либо включен, либо выключен. То есть если вы используете старый алгоритм (usesqlrole=off), то вы его используете всегда. Точно также - если новый алгоритм (usesqlrole=on) - то тоже всегда. А не так что включил параметр, посчитал права и выключил.
При этом права пересчитывать и чекору запускать надо только при переходе на новый алгоритм и делать это надо один раз. Потом просто работаете как обычно, но только с включенным параметром.
Надо только помнить одну особенность - пользователи в базе не могут работать с разным значением параметра. Соответственно если параметр включили и кому-то права посчитали по новому алгоритму, то все, остальные пользователи в базу могут заходить тоже только после пересчета им прав по этому же новому алгоритму....
При этом права пересчитывать и чекору запускать надо только при переходе на новый алгоритм и делать это надо один раз. Потом просто работаете как обычно, но только с включенным параметром.
Надо только помнить одну особенность - пользователи в базе не могут работать с разным значением параметра. Соответственно если параметр включили и кому-то права посчитали по новому алгоритму, то все, остальные пользователи в базу могут заходить тоже только после пересчета им прав по этому же новому алгоритму....
про forcerights лучше читать вот тут
http://forum.galaktika.ru/viewtopic.php ... bb&start=0
Так сказать, из первых рук информация...
Но у меня есть свое мнение по поводу того, что там написано. А именно - имхо, все не так хорошо как там сказано. По моему опыту, хотя это и расходится напрочь с содержанием указанной статьи, следует пересчитывать права всегда с включенным forcerights (по крайней мере я так делаю ), хотя это и заметно медленнее. Дело в том, что я неоднократно встречался с ситуациями, когда при выключенном forcerights права считались некорректно.
http://forum.galaktika.ru/viewtopic.php ... bb&start=0
Так сказать, из первых рук информация...
Но у меня есть свое мнение по поводу того, что там написано. А именно - имхо, все не так хорошо как там сказано. По моему опыту, хотя это и расходится напрочь с содержанием указанной статьи, следует пересчитывать права всегда с включенным forcerights (по крайней мере я так делаю ), хотя это и заметно медленнее. Дело в том, что я неоднократно встречался с ситуациями, когда при выключенном forcerights права считались некорректно.