Тестируем быстро. Запуск сеанса под другим пользователем за 6 секунд!

Публикация № 1230534

Администрирование - Информационная безопасность - Роли и права

Пользователи запуск безпароля кодом автоматически администратор

Как часто вам приходится запускать отладку под другим пользователем? Сколько времени у вас занимает запуск "чужого" сеанса? Убрать (если имеется) у себя аутентификацию ОС, сбросить пароль пользователя и восстановить его потом и т.д. Есть простой и действенный код, который поможет запускать сеансы под другим пользователем без ручной смены параметров аутентификации.

Вступление

Натолкнуло на идею создания статьи отсутствие вменяемой, открытой информации о методике решения текущего вопроса на просторах "интернетов", удалось найти пару обработок, внешние подсистемы и т.д., некоторые из решений так вообще на иностранных, незнакомых рядовому конфигуральщику 1с(мне в их числе), языках в программном коде, ужас...

 
Не рекомендуется к просмотру беременным, детям и людям с нездоровой НС

Покопавшись в том и другом, удалось понять алгоритм решения задачи и написать код, который был бы принят архитекторами, о чем и хочу рассказать, а точнее, как это работает и в чем могут быть сложности.

"Ларчик просто открывался"

Чтобы запустить приложение нам понадобится команда "ЗапуститьСистему" и строка параметров, которая будет заполнена следующим набором: имя приложения, параметр запуска приложения, имя базы, имя пользователя и пароль. На последнем стоит заострить внимание.

Как оказалось, имея даже роль "полные права", у вас не будет возможности посмотреть пароль пользователя используемый для ввода, он будет представлен в виде "QL0AFWMIX8NRZTKeof9cXsvbvu8=,QL0AFWMIX8NRZTKeof9cXsvbvu8=", а для запуска нужен вид "123". Из-за этого мы не сможем запустить систему под текущим паролем пользователя, нам нужно будет установить свой пароль, запустить систему со своим паролем, а потом вернуть старый. В этом то и вся загвоздка.

!ЛикБез из комментариев! <"QL0AFWMIX8NRZTKeof9cXsvbvu8=,QL0AFWMIX8NRZTKeof9cXsvbvu8="> - это 2 хеша паролей: от регистрозависимого и от пароля в нижнем регистре. Т. е. установив для пользователя пароль "ReGiStR", вы также сможете войти и под паролем "registr". 1С (так же как и сбер) заботится об удобстве бабушек пользователей и снижает секьюрность

Пароль «Рыба-меч»

 Это работает как-то так: в момент запуска окна аутентификации вы вводите цифры, платформа кодирует их и сравнивает с сохраненным, кодированным тем же алгоритмом, паролем пользователя. Это было выявлено опытным путем. Итак, чтобы получить этот параметр (пароль для ввода) мы можем установить какому-то пользователю новый пароль вида "123". Программа его кодирует, а мы любым из доступных способов (написать обработку, которая выведет на экран или в точке остановки найти в параметрах пользователя ИБ СохраняемоеЗначениеПароля, или на что у вас хватит фантазии) получим пароль вида "QL0AFWMIX8NRZTKeof9cXsvbvu8=,QL0AFWMIX8NRZTKeof9cXsvbvu8=". Теперь у нас есть связь кодированного и некодированного пароля для подстановки в нашем алгоритме.

5 простых шагов к успеху

Итак весь алгоритм от Элемента справочника "Пользователи" до запуска под ним системы строится в пять действий:

1. Получаем пользователя ИБ из "пользователя справочника". Для решения этого непростого задания создаем супер процедуру:

 
Новый листинг 1

Как говорится, "куй железо пока горячо", сразу получим параметры: шифрованный пароль (СохраняемоеЗначениеПароля), может ли он "логиниться" стандартным путем (АутентификацияСтандартная) и его имя. А сам пользователь вовсе и не нужен больше.

!Важный момент! хранить полученный набор параметров в реквизитах формы. Для этого я выделил переменную с произвольным типом "ДанныеПользователя".

2. Создаем строку параметров запуска для процедуры "ЗапуститьСистему", используя имя, которое получили из пользователя ИБ и пароль "123". Каких-то сложностей быть не должно.

 
 Новый листинг 2

3. Сменим пользователю ИБ шифрованный пароль, на тот, который мы подсмотрели и возможность "логиниться" через 1с. Для этого лучше создать процедуру, которая по параметрам установит пользователю другой пароль, и запустить её.

 
Новый листинг 3

4. Подключим обработчик ожидания, который через 5 секунд вернет параметры аутентификации пользователя в доисторическое состояние. Для этого напишем экспортную процедуру на клиенте, запускающую процедуру, которую мы описали в прошлом действии с параметрами, хранящимися на форме.

 
Новый листинг 4

5. Сладенькое на десерт - запустим уже наконец систему!

 
Новый листинг 5

"Игого"

Тестировалось на 1С:Предприятие 8.3 (8.3.16.1224). Конфигурация: Управление торговлей, редакция 11.1 (11.1.10.53).

Сначала использовалось сие добро как внешняя обработка, но позже было внедрено на форму элемента справочника "Пользователи", для оперативности запуска. Для отладки прав и работы решений под пользователями на дальней перспективе, экономит времени значительно. 

Не скупитесь на комментарии и "Звездочки"! Это мотивирует авторов делиться добром!

Кому совсем лень -матушка, прикрепляю бесплатный файл для скачивания.

А какие решения у вас позволяют сэкономить время работы разработчиков и тестировщиков? 

Мира и здоровья вам!

Скачать файлы

Наименование Файл Версия Размер
Тестируем быстро. Запуска сеанса под другим пользователем за 6 секунд!:

.epf 6,68Kb
05.05.20
135
.epf 6,68Kb 135 Скачать бесплатно

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. json 2657 06.05.20 01:33 Сейчас в теме
Если база серверная, то может запускаться дольше 5 секунд.
В этом случае старый пароль вернется на место раньше, чем пользователь начнет входить.
Я на такое натыкался, когда делал подобную обработку.
Поэтому я сделал мониторинг текущих сеансов по обработке ожидания. Как только появился новый сеанс нужного пользователя, тогда откатываем пароль назад.
autosvg; cleaner_it; user1276813; feva; +4 Ответить
4. feva 405 06.05.20 08:06 Сейчас в теме
(1) Мне кажется, что время запуска растягивается после аутентификации, или ошибаюсь?
Ну как вариант - да. Для простаты решения сделал минимум движений. Если скините код мониторинга - будет только лучше )))
5. Rustig 1487 06.05.20 08:55 Сейчас в теме
(0) если пользователь заходит в 1с во время отладки, что произойдет с пользователем? что произойдет с вашим сеансом отладки?
6. feva 405 06.05.20 08:58 Сейчас в теме
2. Rustig 1487 06.05.20 06:17 Сейчас в теме
Сначала использовалось сие добро как внешняя обработка, но позже было внедрено на форму пользователя.

- на каком скриншоте это можно посмотреть, что именно видит пользователь?
3. feva 405 06.05.20 08:02 Сейчас в теме
(2)Перефразировал
Сначала использовалось сие добро как внешняя обработка, но позже было внедрено на форму элемента справочника "Пользователи", для оперативности запуска.
Мне кажется скриншот кнопки неуместен
7. nusv 41 06.05.20 11:36 Сейчас в теме
9. feva 405 06.05.20 12:21 Сейчас в теме
(7) ну, не у всех есть такая кнопка, люди качают- значит актуально
8. SerVer1C 259 06.05.20 11:40 Сейчас в теме
Тема очень старая и изъезженная. Странно, что вы не нашли информацию по данному вопросу. Немного дополню: <"QL0AFWMIX8NRZTKeof9cXsvbvu8=,QL0AFWMIX8NRZTKeof9cXsvbvu8="> - это 2 хеша паролей: от регистрозависимого и от пароля в нижнем регистре. Т. е. установив для пользователя пароль "ReGiStR", вы также сможете войти и под паролем "registr". 1С (так же как и сбер) заботится об удобстве бабушек пользователей и снижает секьюрность ))
user1276813; nusv; tormozit; feva; maxopik2; +5 Ответить
10. bmk74 143 06.05.20 13:27 Сейчас в теме
Только тут на инфостарте несколько обработок которые подменяют пароль на время запуска приложения, одна из первых моя, кстати код был подсмотрен в ИР..и просто переделан на управляемые формы...кстати в моей обработке пароль меняется обратно как только будет найден запущенный сеанс , что бы не ломать вход обычному пользователю...т.е пароль новый буквально на секунд 10-20 меняется...
11. kai068 4 07.05.20 08:36 Сейчас в теме
Если использовать Инструмент разработчика, то там можно вообще под любым пользователем без пароля зайти.
14. feva 405 12.05.20 13:06 Сейчас в теме
(11) Инструменты разработчика - кухонный комбайн который сварит кофе, сделает из пшена муку, запечет пирог и т.д. Какой смысл делать затраты на установку комбайна, если нужно взбить яйца венчиком для омлета.
12. capitan 1672 11.05.20 13:17 Сейчас в теме

Делаете у пользователя авторизацию ОС и подставляете имя пользователя компьютера
3 строки кода
13. feva 405 12.05.20 13:03 Сейчас в теме
(12) Как быт ьв том случае если у пользователя была ранее установлена авторизация ОС? Нужно поменять будет обратно на тот которые стоял ранее. А если авторизации ОС не было? Нужно будет вернуть значение обратно на "Ложь". Чем тогда принципиально отличается ваш предложенный метод от текущего? Тем что передернем не пароль, а параметры ОС
Спасибо
15. Cyberhawk 118 11.06.20 08:48 Сейчас в теме
(13) Отличие как минимум в том, что если аварийно упал сеанс, который уже подменил доменного пользователя, но не успел вернуть его обратно, то эту информацию в большинстве случаев можно восстановить, т.к. сопоставить имя пользователя ИБ и доменную учетку почти всегда легко.
А когда мы подменили хэш пароля у пользователя ИБ, то в случае падения старый пароль мы никак уже не вернем, если заранее отдельно о его сохранении не позаботились.
Оставьте свое сообщение

См. также

Изменение RLS в ЗУП 3.1 для ограничения доступа к списку сотрудников

Роли и права v8 v8::Права ЗУП3.x Россия Бесплатно (free)

При переезде из УПП в ЗУП 3.1 бизнесом было поставлено условие, система должна ограничивать видимость сотрудников по подразделениям организации. Позиция 1С по этому вопросу однозначна, так делать нельзя. Но с определенными оговорками и условиями можно...

10.07.2020    688    0    Zhilyakovdr    0    

Права пользователя исключительно на просмотр (чтение) для УТ 11.4

Роли и права v8 v8::Права УТ11 Россия Бесплатно (free)

Простая и понятная инструкция по шагам для создания профиля группы доступа «Только чтение» для УТ 11.4. Выполняется в режиме пользователя, без использования конфигуратора и снятия базы с поддержки.

21.11.2019    5409    0    Aleksandr55555    4    

Типичные ошибки при разработке прав доступа

Роли и права v8 v8::Права Бесплатно (free)

Рассмотрим самые распространенные ошибки в разработке прав доступа.

02.10.2019    17974    0    YPermitin    57    

Проверка наличия роли у пользователя

Роли и права v8 v8::Права 1cv8.cf Бесплатно (free)

Допустим, мы добавили новую роль в конфигурацию. Потом добавили её в профиль группы доступа и назначили соответствующую группу доступа пользователю. Однако, в конфигурациях на основе БСП все известные программные проверки данной роли при включении пользователя в предопределенную группу доступа "Администраторы" не работают. В статье приведено решение данной задачи.

29.06.2019    14075    0    ni_cola    10    

Назад в прошлое! Небольшие заметки по администрированию пользователей в УПП

Роли и права v8 УПП1 Бесплатно (free)

Небольшие заметки по функционалу "Администрирование пользователей" конфигурации "Управление производственным предприятием" версии 1.3. Затрагиваются такие темы как: роли, профили доступа, дополнительные права, настройки пользователей и ограничения доступа на уровне записей (RLS).

06.06.2019    12505    0    YPermitin    18    

Подсистема БСП «Управление доступом», основные объекты и регистры

БСП (Библиотека стандартных подсистем) Роли и права v8 v8::УФ v8::Права 1cv8.cf Бесплатно (free)

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

23.05.2019    19618    0    ids79    8    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    34666    0    ids79    9    

Влияние настройки роли на потребление памяти

Роли и права v8::Права 1cv8.cf Бесплатно (free)

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

29.01.2019    12939    0    mickey.1cx    14    

Доработка RLS для УНФ

Роли и права v8::Права 1cv8.cf Бесплатно (free)

Инструкция для тех, кто столкнулся с RLS на управляемых формах впервые и не знает, с чего начать.

14.05.2018    15453    0    FesenkoA    7    

Управление доступом: роли, права, профили, группы доступа, функциональные опции, RLS

Роли и права v8::Права Бесплатно (free)

В 1С достаточно много механизмов, отвечающих за доступ к данным. Группы доступа, профили групп доступа, роли, права доступа, функциональные опции, RLS. Иногда сложно сразу понять, зачем все это нужно, как эти элементы друг с другом связаны и как ими пользоваться.

11.10.2017    86869    0    ekaruk    14    

Использование подсистемы "Управление доступом" из состава БСП версии 2.2+

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 1cv8.cf Бесплатно (free)

В статье описана последовательность манипуляций с подсистемой "Управление доступом" из библиотеки стандартных подсистем "1С" (БСП), результатом которых является реализация возможности настройки ограничения доступа к данным на уровне записей таблиц базы данных (RLS), применяя в качестве разграничителя доступа (критерия ограничения) любой из справочников конфигурации. Данная статья полезна для разработчиков, которые имеют дело либо с одной из типовых конфигураций "1С" (таких как "Бухгалтерия предприятие 3.0" или "Управление торговлей 11"), либо собираются внедрять (или дорабатывать) указанную выше подсистему в какую-либо другую конфигурацию.

18.11.2014    66186    0    Bassgood    84    

Распределение ролей пользователей к информационной базе для проверки аудиторами в типовых конфигурациях БП, ЗУП, ЗКБУ и БГУ.

Роли и права v8 1cv8.cf Россия Бесплатно (free)

В данной статье мы рассмотрим методику создания ролей пользователей к информационным базам для проверки аудиторами в типовых конфигурациях .

13.05.2014    26229    0    OV_GCompany    5    

УТ 10.3 Контролируем остатки автоматически

Учет ТМЦ Роли и права v8 УТ10 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Бесплатно (free)

Один из менеджеров довольно крупной торговой конторы стройматериалов озадачил сделать ему так, чтобы "Торговля" сама предупреждала его о минимальном остатке товара на складах, так как "я сам постоянно забываю смотреть отчеты по точкам заказам и остаткам товаров, много организационной работы". Раньше немного занимался Delphi для души и немного для работы, сейчас же больше полугода работаю с 1С, и первое, что мне пришло в голову это Таймер на главной форме с запросом проверяющем остатки и выдающим предупреждение.

25.10.2012    17496    0    aleksxx    5    

Простое сравнение ролей 1С 8 (сравнение обработок, правил обмена XML, файлов txt, файлов mxl)

Роли и права v8 1cv8.cf Россия Бесплатно (free)

Порядок простых действий для казалось бы сложной операции по сравнению ролей в 1С8. Также можно сравнивать: - правила обмена данными XML - модули объектов в файлах txt - внешние обработки и отчеты - файлы формата mxl

18.08.2010    40914    0    sapervodichka    20    

Объявление на взнос наличными 0402001 для УТ (БЕЗ пароля на пароли)

Кассовые операции Роли и права v8 УТ10 Россия БУ Бесплатно (free)

Объявление на взнос наличными 0402001. Вступает в силу с 1 сентября 2008 года. Для конфигурации "Управление торговлей 10.3" Подключается внешней печатной формой к документу Расходный кассовый ордер. 03092008 Обновление версии: Добавлена форма ввода физ.лица и источника поступления; Введенные значения автоматически прописываются в документ РКО Каждый правит под себя!

28.08.2008    14439    0    mdzen    8