|
Исполнение кода в превилегированном режиме | ☑ | ||
---|---|---|---|---|
0
kuromanlich
25.12.15
✎
15:08
|
Обнаружил глюк с правами пользователей при изменении параметров самого пользователя в превилегированном режиме (либо модуль, либо принудительно) иногда у пользователя появляются полные права.
"Интересная архитектура" у 1С... |
|||
1
Лефмихалыч
25.12.15
✎
15:09
|
в привилегированном режиме ни какие права не проверяются. Он по этому так и называется.
|
|||
2
Stim
25.12.15
✎
15:10
|
>> в привилегированном режиме иногда у пользователя появляются полные права.
действительно, странно. Обычно прав становится меньше |
|||
3
kuromanlich
25.12.15
✎
15:10
|
(1) я плохо описал - видимо не понятно. если изменить допустим интерфейс программно у пользователя в превилегированном режиме, то у него могут из неоткуда появиться полные права
|
|||
4
kuromanlich
25.12.15
✎
15:11
|
(2) угу, у меня и такое было, полный слет прав, но это на 8.2, при таком же подходе кстати
|
|||
5
Лефмихалыч
25.12.15
✎
15:11
|
(3) щито?.. понятнее не стало ни на сколько
|
|||
6
FIXXXL
25.12.15
✎
15:11
|
(3) снимать режим не забыл?
|
|||
7
kuromanlich
25.12.15
✎
15:13
|
(6) нет конечно. прикол в Пользователь.Записать() внутри превилегированного участка кода или модуля
|
|||
8
kuromanlich
25.12.15
✎
15:14
|
по идее можно наверное както хакать так 1С )
|
|||
9
Лефмихалыч
25.12.15
✎
15:17
|
(7) я не верю в это
|
|||
10
kuromanlich
25.12.15
✎
15:18
|
(9) сам в шоке )
|
|||
11
Enterprise
25.12.15
✎
15:19
|
А я до сих пор не понял, что в этой ветке происходит...
|
|||
12
Stim
25.12.15
✎
15:19
|
||||
13
kuromanlich
25.12.15
✎
15:22
|
(12) я не об этом, воспроизвести приписывание полных прав пользователю без исполнения кода в 1с
|
|||
14
Лефмихалыч
25.12.15
✎
15:26
|
(13) полные права - это просто роль. Причем она есть не в каждой конфигурации. Не может платформа выборочно сама принимать решение подставить пользователю роль с именем ПолныеПрава - у нее мозгов нет.
|
|||
15
Cyberhawk
25.12.15
✎
15:28
|
(7) "прикол в Пользователь.Записать() внутри превилегированного участка кода или модуля"
1. Речь о прикладном пользователе (справочник) или пользователе ИБ? 2. В какой конфигурации и на какой платформе? |
|||
16
kuromanlich
25.12.15
✎
15:33
|
(15) 1) пользователь ИБ
2) бух 2.0 |
|||
17
kuromanlich
25.12.15
✎
15:34
|
(14) может это "основная роль" или первая попавшаяся с административными правами
|
|||
18
Лефмихалыч
25.12.15
✎
15:38
|
(17) требую нотариально заверенных скриншотов!
![]() |
|||
19
kuromanlich
25.12.15
✎
15:42
|
(18) заморочусь пошлю скрин из ЖР, 3 записи подряд на изменение пользователя ИБ одним сеансом в одну секунду с разным составом ролей
|
|||
20
Лефмихалыч
25.12.15
✎
15:43
|
(19) этим ты ни чего не докажешь.
|
|||
21
kuromanlich
25.12.15
✎
15:43
|
(20) + кусок исполняемого кода
|
|||
22
Лефмихалыч
25.12.15
✎
15:44
|
короч - сможешь воспроизвести, показывай видео. До тех пор - это всё свистёжь
|
|||
23
Cyberhawk
25.12.15
✎
15:50
|
Проверил - не воспроизводится
Код покажи |
|||
24
ЧеловекДуши
25.12.15
✎
15:55
|
(0) Как это глюк?
Так то При включение привилегированных прав, соизволь при выходе из функции их отменить :) ... Так что все это от рУк писателя, а не 1С :) |
|||
25
aka AMIGO
25.12.15
✎
15:55
|
"Появляются полные права" - бездоказательно.
Если ролей несколько, права по ним взаимодействуют по "ИЛИ", если есть хотя-б один True - будет разрешено, несмотря на запрет в других ролях данного юзера © Миста. |
|||
26
ЧеловекДуши
25.12.15
✎
15:55
|
(23) Да он поди навтыкал везде вызов. А у ней как, каждый вызов должен быть завершен :)
|
|||
27
ЧеловекДуши
25.12.15
✎
15:57
|
(4) Вы пишите внятно...
1. Версия платформы 2. Версия конфигуратора 3. Режим работы, сдается Толстый клиент :) |
|||
28
ЧеловекДуши
25.12.15
✎
15:57
|
+ 4. SQL или файловая БД
|
|||
29
Лефмихалыч
25.12.15
✎
15:59
|
(24) оно само отключается при выходе из области видимости, в которой режим был включен
|
|||
30
kuromanlich
25.12.15
✎
16:00
|
УстановитьПривилегированныйРежим(Истина);
ДобавилиПолныеПрава=Ложь; Если Не РольДоступна("ПолныеПрава") Тогда ПользовательИБТек = ПользователиИнформационнойБазы.НайтиПоИмени(ПараметрыСеанса.ТекущийПользователь); ПользовательИБТек.Роли.Добавить(Метаданные.Роли.ПолныеПрава); ПользовательИБТек.Записать(); ДобавилиПолныеПрава=Истина; КонецЕсли; м=ПользователиИнформационнойБазы.ПолучитьПользователей(); ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя); Если ДобавилиПолныеПрава Тогда ПользовательИБТек = ПользователиИнформационнойБазы.НайтиПоИмени(ПараметрыСеанса.ТекущийПользователь); ПользовательИБТек.Роли.Удалить(Метаданные.Роли.ПолныеПрава); ПользовательИБТек.Записать(); КонецЕсли; УстановитьПривилегированныйРежим(Ложь); Возврат ПользовательИБ; код в превилегированном модуле |
|||
31
Лефмихалыч
25.12.15
✎
16:02
|
ПользовательИБТек.Роли.Добавить(Метаданные.Роли.ПолныеПрава);
ага... платформа сама, н-но... ясно все с тобой |
|||
32
kuromanlich
25.12.15
✎
16:02
|
(31) код до конца дочитай
|
|||
33
Лефмихалыч
25.12.15
✎
16:04
|
(32) это или кэш, или ты по какой-то иной причине смотришь в один код, запускаешь другой. Полные права ты добавляешь своим копрокодом сам.
|
|||
34
xxTANATORxx
25.12.15
✎
16:04
|
(30)я стесняюсь спросить, а в чем смысл добавить роль/удалить роль?
|
|||
35
kuromanlich
25.12.15
✎
16:05
|
(31) + код конечно из рук вон плох, но это "историческое накопление"
функция вызывается и после вызова возвращаемое значение записывается (после изменения интерфейса) ПользовательИБ.Записать() |
|||
36
xxTANATORxx
25.12.15
✎
16:05
|
(34)+ у вас ведь весь код обернут привилегированным режимом
|
|||
37
kuromanlich
25.12.15
✎
16:07
|
(36) этот код не работал, его случайно начали использовать для одной задачи, сочтя его подходящим
|
|||
38
Cyberhawk
25.12.15
✎
16:10
|
Что-то код неполный, что за "ИмяПользователя" и где используется "м"? Полный код в студию давай уже
|
|||
39
Cyberhawk
25.12.15
✎
16:11
|
+(38) У тебя воспроизводится это стабильно? Если да, то упрости пример и запости тут способ воспроизведения
|
|||
40
Бледно Золотистый
25.12.15
✎
16:15
|
(30) Если ИмяПользователя = ПараметрыСеанса.ТекущийПользователь то ничего удивительного не вижу, учитывая (35)
|
|||
41
hhhh
25.12.15
✎
16:41
|
(37) если модуль привилегированный, зачем еще устанавливать привилегированный режим? Всё равно там всё привилегировано.
|
|||
42
Stim
25.12.15
✎
16:42
|
чета вы какой-то херней занимаетесь
|
|||
43
aleks_default
25.12.15
✎
17:38
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |