|
УТ11: Алгоритм поиска недостающих прав | ☑ | ||
---|---|---|---|---|
0
bolero
26.05.15
✎
21:20
|
По мере обновлений УТ11 и накопления формальных требований от руководства постоянно лезут вилы с правами доступа.
Например: продажники запускали себе спокойно обработку "Состояние обеспечения заказов", потом вдруг появился заказ на сборку, и у продажников обработка не открывается - нет прав прочитать заказ на сборку. Или корректировка назначения товаров - в какой-то версии вообще прав никаких не было назначено на этот документ (работал только у суперпользователя), я что-то там доделывал (потерял заметки, что именно), добавлял роль закупщикам, и они делали спокойно корректировки. Потом прошло обновление, роли доступа к документу появились, но видимо не те, работает опять только у суперпользователя. Разбираться заново обидно, потому что не помню ничерта, в какую сторону копал. Есть какой-то опыт или алгоритм, как выявлять, каких ролей не хватает? Вот сейчас напоролся на ошибку типа "объект не может быть прочитан", и ни стека, ничего по этому поводу. |
|||
1
shuhard_серый
26.05.15
✎
21:31
|
(0)[я что-то там доделывал (потерял заметки, что именно), ]
феерично |
|||
2
vde69
26.05.15
✎
21:31
|
журнал регистрации
|
|||
3
bolero
26.05.15
✎
21:43
|
(1) согласен
с другой стороны, откопать базу из бэкапа и сделать сравнение по времени выйдет больше, чем найти заново а вообще имею привычку записывать мелкие изменения к типовой с объяснением, зачем оно сделано а я не погромист, я вообще этим не от хорошей жизни занимаюсь, других задач гора и корректировку тогда чинил в режиме ошпаренной кошки (2) если касаться, допустим, "объект недоступен для чтения", то в ЖР та же ошибка без деталей, равно как и в конфигураторе при отладке |
|||
4
bolero
26.05.15
✎
21:45
|
погромиста в штат взять не могу, слишком мало задач (стараюсь по максимуму возможности типовой задействовать)
а в фрилансру нет кнопки "показать последние сообщения", чтобы оценить компетенцию потенциального исполнителя |
|||
5
vde69
26.05.15
✎
21:46
|
(3) там будет имя таблицы
|
|||
6
bolero
26.05.15
✎
22:11
|
(5) неа, нету
и форма списка корректировок не открывается (пусто и нет кнопки добавить), хотя ВСЕ типовые роли, касающиеся корректировок, пользователю добавлены если попытаться открыть уже сделанную корректировку назначения товаров через структуру подчиненности, то выпадает та же самая ошибка без стека я могу разве что сделать вывод, что типовая роль на чтение не дает прав на чтение |
|||
7
Nirvana
26.05.15
✎
22:19
|
Тактика №1 (если известно, к какому объекту нет доступа).
1) Открыть объект метаданных. 2) Открыть права доступа к объекту. 3) Двигаясь курсором по списку ролей, смотреть - на каких ролях появятся галочки в правах доступа. 4) Открывать обнаруженные роли с правами к этому объекту и смотреть все права доступа в этих ролях, оценивая, нужны ли эти права пользователю в данном случае. 5) Вместо п.3 можно также воспользоваться функцией "Все права доступа" в списке ролей - в той таблице легче заметить роли с правами к объекту, но оттуда нельзя эти роли открыть. |
|||
8
Nirvana
26.05.15
✎
22:19
|
Тактика №2 (если неизвестно, к какому объекту нет доступа, но известно конкретное место в модуле, где возникает ошибка).
1) Пошагово отлаживать выполнение вплоть до обращения к конкректному объекту, которое вызывает ошибку доступа. 2) Если при отладке не удаётся выйти ни на один объект, повторить всё то же самое с полными правами, выявляя все объекты, к которым требуется доступ в процессе выполнения, и проверяя наличие к ним прав доступа пользователя. 3) При выявлении конкретных объектов, на которых нет права доступа, действовать согласно тактике №1. |
|||
9
Nirvana
26.05.15
✎
22:19
|
Тактика №3 (если неизвестно, к какому объекту нет доступа, но известен запрос или отчёт на СКД с запросом-источником данных, где возникает ошибка).
1) Выявить все объекты, к которым обращается запрос, и проверить наличие к ним прав доступа пользователя. 2) Если ко всем объектам есть права доступа, выявить все объекты, типы которых входят в поля составных типов (например, все регистраторы для регистра накопления) и проверить наличие к ним прав доступа пользователя. 3) При выявлении конкретных объектов, на которых нет права доступа, действовать согласно тактике №1. |
|||
10
Nirvana
26.05.15
✎
22:20
|
Тактика №4 (если вообще ничего неизвестно).
1) Сделать файловую копию базы. 2) Спровоцировать в ней ошибку прав доступа и анализировать сообщение об ошибке, которое будет более подробным, чем при работе в клиент-серверной базе. 3) Продолжать согласно предыдущим тактикам. |
|||
11
bolero
26.05.15
✎
22:23
|
воу-воу, палехче!
ты это сейчас прям настрочил, или держал наготове все эти годы? ;) |
|||
12
Nirvana
26.05.15
✎
22:26
|
(6) Если в УТ11 роль называется "Чтение чего-то там", то необязательно она содержит все права на чтение этого объекта. Некоторые из них могут быть в аналогичной роли "Добавление и изменение чего-то там".
Кроме того, часть прав на чтение может быть вообще в совершенно посторонних ролях, у которых установлен флаг независимых прав для подчинённых объектов. |
|||
13
Nirvana
26.05.15
✎
22:27
|
(11) Это я только что потренировалась. =)
|
|||
14
Zhuravlik
27.05.15
✎
00:20
|
(0)(7)(8)(9) предлагаю упростить себе жизнь вот этим http://catalog.mista.ru/public/346452/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |