gifts2017

Запускалка баз 1с 7.7

Опубликовал Дмитрий Воробьев (vde69) в раздел Администрирование - Стартеры 1С

Позволяет исключить ввод паролей пользователями (использует Win логины), автоматически предоставлять пользователю список актуальных баз (именно актуальных, то есть в те которые он имеет право на вход). Ведет 2 списка баз "основные" "дополнительные". Версия 2.0 содержит дополнительный функционал авто блокировки баз для всех пользователей, и сканер файловой безопасности.

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

В Авто блокировке используется безопасная с точки зрения "зависания" технология для закрытия входа в базу для всех пользователей кроме админов 1с, встроен свой "сервер блокировок" (который при активайии распологаеться в трее)

Известные ошибки:

1. в сканере безопасности не отображаються локальные учетки (правильно работают только доменные)

буду исправлять

2. сканер безопасности ничего не показывает для определенных вариантов установки 1с.

исправлять пока не планирую, есть обходное решение: на файл MD необходимо настроить полный доступ от своей доменной учетной записи (права локального администратора - для этого не подходят)

3. очень долго обрабатывается базы в которых висит окно авторизации, причина в блокировке файла пользователей, как исправить не знаю.

кто подскажет путь - исправления этого бага - тому респект. 

--------------------------------------------------

версия 2.0 переписана на использование DLL_Info77.dll (входит в дистрибутив), менять функционал и версию этой DLL планирую с сохранением совместимости, по этому более свежие релизы буду выкладыввать или здесь или у себя на сайте.

В отдельных случаях могу предоставить интефейс этой DLL (на свое усмотрение)

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

Наименование Файл Версия Размер Кол. Скачив.
2.1
.zip 357,29Kb
28.07.11
333
.zip 357,29Kb 333 Скачать
1.0
.1226038413 260,03Kb
25.09.09
556
.1226038413 260,03Kb 556 Скачать
2.0
.1234191861 527,70Kb
04.08.10
133
.1234191861 527,70Kb 133 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Дуб (Дуб) 07.11.08 09:26
2. Дуб (Дуб) 07.11.08 09:29
+(1) фиг с ними, со скриншотами, и так ясно.. А почему из реестра не цепляет? Нафига файлы плодить?
3. Дуб (Дуб) 07.11.08 09:35
Понял. Мне не нужно, но прикольно. Плюсую.
4. Дмитрий Воробьев (vde69) 07.11.08 09:46
есть сотня баз, и две сотни пользователей, которые ходят с места на место.
"Запускалка баз 1с 7.7" позволяет держать все настройки на сервере и не париться, что у кого-то база не прописана,

кроме того они не забудут пароль, и не передадут его (пароль на вин редко передают, ведь в личном профиле личные данные, напр аська и по этому звери виндовый пароль не передают)
причем если например у пользователя "отвалился" сетевой диск, то все базы с этого диска у него пропадут из списка выбора 10

Есть еще всякие вкусные мелочи которые поймешь когда начнешь работать :) все расписывать - долго, вещь простая и понятная

последнее:
есть различия между двумя списками, для "дополнительных" баз можно подключаться если списка пользователей нету вообще, это удобно например для копий (поднял, и снес файлик), такая база появиться у всех кто имеет файловый доступ
5. Леонид (minele) 13.11.08 09:14
А надо ли это? пароль и создан для того чтобы все было зашито (см приказ Пу от 2007 г). А так удали папку с пользователями и заходи как хочешь. Сейчас проблема как блокировать удаление этой папки, без вреда для работы с ней.
6. Дмитрий Воробьев (vde69) 13.11.08 09:28
ты просто не прочитал, там все написано.
Для "Основного" списка баз 1с не будет запускаться если вин логина нету списка пользоватей
Для "Дополнительного" списка - это нормально (список для всяких копий, тестов и т.д.)

каталог usrdef, так-же как *.md для всех пользователей кроме админа базы необходимо сделать "только для чтения", по моему это делать обязательно ВСЕГДА и для ВСЕХ баз
7. A. Pantyukhov (k0ketbi4) 13.11.08 13:04
Не пойму что нужно писать под параметром сеператор.... Допустим у меня пользователь в конфигураторе указан администратор, что мне нужно в ини файле прописать помимо местонахождения базы данных и платформы...?
8. Дмитрий Воробьев (vde69) 13.11.08 14:27
to (7)
1. если не использовать доп контроль по различным доменам/рабГрупам, то этот параметр не нужен
2. я рекомендую пользователя "Администратор" оставлять с паролем в конфигураторе, и писать его в список исключений (что-бы под ним ни кто не входил)
3. например в винде у меня логин "DV" тогда достаточно создать пользователя в конфигураторе с логином "DV" и дать ему права на папку
9. Дмитрий Воробьев (vde69) 13.11.08 23:43
Кстати кто кинет пример получения по логину наличия прав на открытие конфигуратор (но только именно парсинг файла, без всяких внешних DLL),
прикручу авто доступность конфигуратора и монитора и сделаю отчет по всем базам на предмет безопасности.

просто я себе компоненту в дельфи тогда сделаю, пока у меня собрано там: список пользователей, SQL параметры, права на доступ к файлам, работа с AD, Реестр стартапа 1с. (не хватает списков ролей и прав)

10. Дмитрий Воробьев (vde69) 28.11.08 10:44
11. Pavlo (pavlo) 16.01.09 18:19
я так понимаю, работает только если отдельно зверь заходит в терминал?
просто у нас по ярлыкам терминальным
а компы в домене
12. Дмитрий Воробьев (vde69) 16.01.09 20:12
(11) работает и в терминале и без, главное, что-бы у каждого пользователя была отдельная учетка (в принцепе может и вообще по локальным учеткам, но тогда надо все компы внести в список доменов)

то-есть в терминал должны входить под доменными учетками а не все под одной, да и вообще так правильнее делать, может чуток больше гемора при регистрации пользователя, но зато можно права на папки нарезать
13. Дмитрий Воробьев (vde69) 16.01.09 20:19
(12) с опубликованными приложениями не знаю как будет работать, даже не думал на эту тему! может и будет а может и нет... Для нас это было не актуально
14. Pavlo (pavlo) 17.01.09 12:27
тоесть а пароли запоминает, в каком формате? ;)
15. Дмитрий Воробьев (vde69) 17.01.09 15:39
она пароли вообще не запоминает, и не сравнивает
посмотри модуль который надо в конфу интегрировать, все поймешь.

Можно общий пароль поставить для всех пользователей и всех конфигураций, но это скорее не нужно
16. Дмитрий Воробьев (vde69) 09.02.09 18:06
добавлен сканер файловой безопасности, подробности в документации
17. Дмитрий Воробьев (vde69) 19.02.09 17:52
хочу поинтересоватся, на сколько будет интересен коммерческий интерес если доделаю:

1. вместо списков, деревья
2. файл с настройками будет зашифрован и конфигурирование будет в диалоге
3. типовые шаблоны для авто установки файловых прав
4. возможность вставить перед запуском базы произвольный кусок реестра в ветку для выбраной базы
5. отправку почты всем пользователям базы
6. автоматическое добавление кода в гл модуль
7. временное отключение базы из списка выбора

ну и т.д. рюшечки (может кто еще чего посоветует)
18. Дуб (Дуб) 20.02.09 08:04
(17) а целевая аудитория в этом случае - кто?
19. Дмитрий Воробьев (vde69) 20.02.09 10:00
(19) целевая аудитория будут "правильные" конторы с большим количеством баз.
Эта штука прилично экономит время на всякие подключения юзеров и должна поднимать безопасность.

тем конторам которые ставят всем пользователям полные права на все - конечно она не нужна
20. pilot56 (ACE$) 03.03.09 15:45
мыслишка интересная... проверим у себя. Единственно, у нас не один терминал. В данном случае настроек нужно будет тоже хранить на всех серверах?
21. Дмитрий Воробьев (vde69) 03.03.09 16:44
(20) у нас серверов то-же много, но все настройки лежат в одном месте, конкретное решение будет зависить от Вашей топологии.

А вот базы с кривыми путями (типа \\комп\1с\) делать не желательно, ибо будет тормозить запуск.
22. Юлия (Julchik) 12.05.09 12:14
Интересная идея по закрытию. Правда у меня 1c+.exe выдает при запуске конкретной базы то есть файл настроек уже пройден выдает "Не удается найти указанный файл". Могу предположить что это файл запуска, но путь стандартный скопирован из обычной запускалки. Может для запуска ещё библиотечки нужны ?
23. Дмитрий Воробьев (vde69) 12.05.09 15:40
(22) для 1с+ никаких библиотек не нужно
для самой 1с нужна административная установка на сервер

другие базы с этого компа запускаются?
24. Юлия (Julchik) 13.05.09 07:21
(23) Да при стандартном запуски 1с запускается и через "запускалки" при запуске 1c+.exe выдает только ошибку. Она ищет исполняемый файл? Административная установка не помогла. Может быть разница что запуск с рабочей станции без серверного ПО ?
25. Юлия (Julchik) 13.05.09 07:22
(23) Да при обычном запуске кстати, процедура отлично отрабатывает полностью проходя проверку отладчиком, но очень понравилась идея только с базами доступными для пользователя, поэтому есть желание посмотреть через 1c+.exe
26. Дмитрий Воробьев (vde69) 13.05.09 11:31
(25) собственно проблемма решилась, путь к exe содержал пробел :)
27. Дмитрий Воробьев (vde69) 04.09.09 15:52
новенькое: блокировка базы от пользователей
X.Leshiy; +1 Ответить
28. Дмитрий Воробьев (vde69) 25.11.09 08:42
интересна версия с возможность указания глобальных параметров для каждой базы отдельно?

типа для каждой базы можно указать свой путь к екзешнику и т.д.
29. Pavlo (pavlo) 22.01.10 14:56
хотел попробовать и толку нет вовсе не показывает ничего, просто пустота, однако и user1 прописал в базе и в настройках путь до базы и файла запуска указал.
кстати, описание более полное чем сам конф файл.
30. Дмитрий Воробьев (vde69) 22.01.10 16:39
31. Pavlo (pavlo) 22.01.10 20:04
32. Дмитрий Воробьев (vde69) 22.01.10 22:24
(31)

убери вообще строку
Separator=_

и не должно быть пробелов в строке
Root=C:\Program Files\1Cv77\BIN\1cv7s.exe
33. Дмитрий Воробьев (vde69) 22.01.10 22:26
если сепаратор не убирать то в конфигураторе имя пользователя должно быть
user1_PHOTOLAND

и еще в файле win все букы должны быть в верх. рег "kirilenko" - не пойдет
34. Pavlo (pavlo) 23.01.10 09:59
1. ну так написано же что если старые имена то без домена
2. про имя большими буквами не слова в документации :)
3. сама программа 1с лежит в таком каталоге и в другой перемещать у нас нельзя так как очень много на него подвязано.
35. Дмитрий Воробьев (vde69) 23.01.10 11:28
(34)
1. про большие буквы для старых имен - не обязательно, для имен доменов - обязательно
3. сделай административную установку платформы на сервере и все будет работать
36. Pavlo (pavlo) 23.01.10 20:58
всмысле административную?
37. Евгений Мартыненков (JohnyDeath) 21.04.10 15:09
(32) А может можно как-нибудь подправить исходники, чтобы понимал пути с пробелами?
Ведь не сложно же.
Буду очень благодарен.
38. Дмитрий Воробьев (vde69) 21.04.10 15:46
(37) будет настроение - сделаю, там еще одно решение почти готово - использование разных каталогов EXE файла для разных баз.
39. Евгений Мартыненков (JohnyDeath) 21.04.10 16:47
(38) Не хочу показаться наглым, но можно узнать когда у тебя будет настроение?

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

Может хотя бы фикс с пробелами выложишь? Там ведь просто кавычки добавить (или я вообще ламер?)
40. Дмитрий Воробьев (vde69) 21.04.10 18:10
(38) может на этой неделе сделаю, мне там нужно доделать использование разных EXE а выкладывать старый билд профиксеный я особого смысла не вижу.
Кроме того кавычки разные бывают :D и надо будет потестить на длинных каталогах (эта не явная проблемма старых систем которая не возникает сейчас, по сколько слитные имена каталогов в 500 знаком не делаюи, а вот с пробелами - бывает).
41. Евгений Мартыненков (JohnyDeath) 22.04.10 11:03
(40) Уговорил :D
А можешь еще такую фичу добавить:
Создать в ini-файле раздел [UsersAliases], в котором бы давались соответствия между именами пользователей Виндовс и 1С.

Т.е. у меня, например, есть пользователь Виндовс с именем "Симпатяжкина", но в 1С она входит под логином "Оператор". При наличии в файле настроек строчек:
[UsersAliases]
Симпатяжкина=Оператор

стартер бы искал пользователя в 1С уже не по "Симпатяжкина", а по "Оператор"
zynics; Tolpinski; +2 Ответить
42. Дмитрий Воробьев (vde69) 03.08.10 13:44
версия 2.1, профиксино:

1. предупреждение если не найден исполняемый файл
2. вывод в центр активного окна а не рабочего стола (были проблеммы с двумя мониторами и т.д.)

добавлено:
1. индикатор заполнения списка баз
2. сохранение лога времени создания списка баз
3. возможность для каждой базы определить отдельный исполняемый файл (директорию) 1с
43. Александр Орефков (orefkov) 09.08.10 09:06
Блин, когда уже люди прочистят мозги от шаблонов, навязанных 1С?
Доколе можно издеваться над юзерами этим мерзким флажком "Монопольно" ?
Трудно разве сделать ДВЕ отдельные кнопки - "Предприятие" и "Монопольно"?
Прикрепленные файлы:
44. Дмитрий Воробьев (vde69) 09.08.10 09:23
(43) дело вкуса, на мой взгляд флажек лучше чем кнопка, ибо нужно кликнуть 2 раза и значит вероятность ошибки меньше.

а делалось именно максимально приближенно к внешнему виду штатной 1с
45. Дмитрий Воробьев (vde69) 11.08.10 08:07
чутор исправил версию 2.1, исправление только одно - увеличил размер окна на 5 пикселей, а то на висте появлялись скролы.
46. Вадим Кара (vadimkara) 26.09.11 17:22
Перед до мной тоже стала проблема безопасности попробуем ланчер
47. Вадим Кара (vadimkara) 26.09.11 17:24
Вобщем стала передо мной такая задача массовая смена паролей для всех пользователей подойдет данный ланчер для этого или нет?
53. Дмитрий Воробьев (vde69) 26.09.11 18:48
(47) нет, она предназначена для полного отказа от паролей
54. Сергей (Che) Коцюра (CheBurator) 15.10.11 20:41
(43) а это у тебя какая запускалка?
55. Александр Орефков (orefkov) 16.10.11 00:14
(54)
Это моя личная, местечковая была запускалка.
56. Тимур Иванов (stepman3) 19.10.11 13:08
хотелка:
1. отключение режима работы по логин 1с = логин вынь
2. + простая блокировка отдельных баз - просто ставим типа галочки напротив базы - и все не запускает

п.с. мне нужна просто как блокировка запуска определенных баз (на время обновления конфигурации , чтобы юзвери не ломились).
57. Serguey Mir (mstick) 16.11.11 03:31
stepman3 пишет:

хотелка:

1. отключение режима работы по логин 1с = логин вынь

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



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


п.2 для меня тоже актуален.

Понимаю, что не по теме, но подскажите, пожалуйста, какой-нибудь "выгонятор" пользователей. "Выгонятор" - обработка, которая, например, по всему списку соединенных пользователей посылала сообщение о прекращении функционирования программы через пять минут, советовала сохранить данные и выйти из программы. Непослушных по прошествии отведенного времени отрубить от базы.
Спасибо!
58. Сергей (Che) Коцюра (CheBurator) 27.09.12 19:49
как же.. разбежались делать хотелки...
59. Дмитрий Воробьев (vde69) 09.11.12 09:38
раз уж все равно интерфейс просочился в инет, выкладываю :)
использование с обязательным указанием авторства.


// описание интерфейса библиотеки DLL_Info77.dll версия 1.0.1.0
//
// vde69@mail.ru
//
//
//************************************************************
//
// ПРИМЕР ИСПОЛЬЗОВАНИЯ
//
//************************************************************
type

TVariantBase77 = (Files, SQL, None);
PItemConfigUserBase77 = ^TItemConfigUserBase77;
PItemConectUserBase77 = ^TItemConectUserBase77;

TItemConfigUserBase77 = record
Base77UserName: String;
Base77UserPage: String;
Base77UserFullName: String;
Base77UserPass: String;
end;

TItemConectUserBase77 = record
Base77UserName: String;
RunMode: String;
IsMono: Boolean;
DateTime: String;
ComputerName: String;
end;

TFunctionGetStr = Function: String;
TFunctionGetList = Function: TList;
TFunctionGetVariantBase77 = Function: TVariantBase77;
TProcedureItitializate = procedure (Path:string);
TProcedure = procedure;
THandle = Integer;


var
HandleDLL: THandle;
GetSQLServer,
GetSQLBase,
GetSQLUser,
GetSQLPass,
GetFilePath,
GetFileNameMD,
GetFileNameLinks,
GetFileNameUsers,
GetFileNameDBA: TFunctionGetStr;
GetVariantBase: TFunctionGetVariantBase77;
GetListUserConfig,
GetListActiveUsers: TFunctionGetList;
LoadSetConfig: TProcedureItitializate;
LoadActiveUsers: TProcedure;

procedure TMainForm.FormCreate(Sender: TObject);
begin
HandleDLL := LoadLibrary('DLL_Info77.dll');
if Handle <> 0 then
begin

@GetSQLServer := GetProcAddress(Handle, 'GetSQLServer');
@GetSQLBase := GetProcAddress(Handle, 'GetSQLBase');
@GetSQLUser := GetProcAddress(Handle, 'GetSQLUser');
@GetSQLPass := GetProcAddress(Handle, 'GetSQLPass');
@GetFilePath := GetProcAddress(Handle, 'GetFilePath');
@GetFileNameMD := GetProcAddress(Handle, 'GetFileNameMD');
@GetFileNameLinks := GetProcAddress(Handle, 'GetFileNameLinks');
@GetFileNameUsers := GetProcAddress(Handle, 'GetFileNameUsers');
@GetFileNameDBA := GetProcAddress(Handle, 'GetFileNameDBA');
@GetVariantBase := GetProcAddress(Handle, 'GetVariantBase');
@GetListUserConfig := GetProcAddress(Handle, 'GetListUserConfig');
@GetListActiveUsers := GetProcAddress(Handle, 'GetListActiveUsers');
@LoadSetConfig := GetProcAddress(Handle, 'LoadSetConfig');
@LoadActiveUsers := GetProcAddress(Handle, 'LoadActiveUsers');

//
// по хорошему тут еще надо проверить полученные адреса на корректность
// if @GetSQLServer <> nil then
//
end;
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
if Handle <> 0 then FreeLibrary(Handle);
end;
60. poyson (poyson) 27.02.13 13:08
Интересный вариант реализации. спасибо. +1
61. Pupok46 13.09.15 10:51
Приветы, есть 3000 хочу потратить на доработку под себя.
ICQ: 482199220
Skype: Svoboden46
E-mail: ir-da@yandex.ru
:)
62. Pupok46 13.09.15 10:52
Забыл подписаться на ответы этой темы ))
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа