Веб-форма авторизации/регистрации/восстановления пароля для веб-клиента 1С с помощью HTML/CSS/PHP/HTTP-сервисов 1С

0. Бэнни 127 08.11.18 11:59 Сейчас в теме
Пришла в голову идея создать универсальную веб-форму входа в веб-клиент 1С на HTML/CSS/PHP/HTTP-сервисы 1С. Чтобы прямо как на нормальных сайтах. Заодно и для ознакомления с 1С с новой, для себя, стороны. Интересно было попробовать интеграцию PHP - 1С.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. oyti 55 08.11.18 12:25 Сейчас в теме
Не совсем понятно, для чего здесь PHP
2. Бэнни 127 08.11.18 12:35 Сейчас в теме
(1)Разверните свою мысль более подробно
3. oyti 55 08.11.18 12:39 Сейчас в теме
(2) клиентскую часть можно целиком реализовать на HTML+JS+CSS. Серверная - HTTP-сервисы. Для чего нужна дополнительная прослойка на PHP?
DrAku1a; ltfriend; andy23; +3 Ответить
4. Бэнни 127 08.11.18 12:44 Сейчас в теме
(3) Во первых, мне так захотелось, just for fun) Это главное) Во вторых, с кроссдоменными запросами в JS у меня всегда было не очень) В третьих, мне не хотелось чтобы код общения с сервером был доступен на клиенте.
TitanLuchs; mifka186; +2 Ответить
5. СергейКа 684 08.11.18 19:34 Сейчас в теме
Пару лет назад делал проще в двух вариантах:
1. Генерируется HTML форма прямо при запуске конфигурации из веб. Там можно регистрироваться, менять пароль, запрашивать и все что положено. Здесь на форуме был пример с моим участием, да и в инете сейчас найти можно.
2. Подключался внешним источником к базе Wordress. Формы настроены им же. При регистрации пользователя - отправлялось подтверждение на почту уже 1С-кой. При запросе изменения пароля - так же. И так далее. Короче весь фронтэенд - Вордпресс. Бэкэнд - 1С.

Так что вариантов решений - море ))
A_Max; Бэнни; +2 Ответить
6. Бэнни 127 08.11.18 20:41 Сейчас в теме
(5)а можно ссылку на ваше решение? Очень интересно пишете) или может файликами поделитесь в личку? Готов поучиться)
7. СергейКа 684 09.11.18 08:21 Сейчас в теме
(6) Для первого варианта: https://forum.infostart.ru/forum9/topic160958/
Может быть не все, но достаточно что бы разобраться.
Для второго варианта - давно проект прикрыл, сейчас не в работе. Делал его совместно с awa, но к сожалению в прошлом году судьба распорядилась иначе. Уже более года как прикрыто. Но поищу что у меня в архивах осталось. Быстро не обещаю.
Бэнни; +1 Ответить
8. vasvl123 99 10.11.18 04:06 Сейчас в теме
(6) Реализована безопасная авторизация https://github.com/vasvl123/OneScriptDB
DrAku1a; Бэнни; +2 Ответить
9. Бэнни 127 11.11.18 20:09 Сейчас в теме
(8)Это какой-то форк oscript.web или что-то отдельное?
10. vasvl123 99 11.11.18 21:52 Сейчас в теме
(9) это отдельный проект, на других принципах и более низким порогом вхождения.
DrAku1a; Бэнни; +2 Ответить
11. Unknown31 16.11.18 10:07 Сейчас в теме
Интересна статья, спасибо)
Бэнни; +1 Ответить
12. Бэнни 127 16.11.18 10:49 Сейчас в теме
(11) Пожалуйста, Александр)
13. anvolkov1cbit 24 14.01.19 16:19 Сейчас в теме
14. Бэнни 127 17.01.19 15:42 Сейчас в теме
(13) В чем это выражается? Только что скачал, проверил. Все так как должно быть.
15. anvolkov1cbit 24 18.01.19 09:39 Сейчас в теме
(14) В этом
Прикрепленные файлы:
16. Al-77 74 23.03.20 15:57 Сейчас в теме
Архив скачал а он битый. можете прислать?
17. Dex041 19.06.20 00:33 Сейчас в теме
Получается эта форма регистрации откроется только, если обращаться к домену напрямую? Если обратиться к конкретной БД, то форма авторизации будет 1Сная?
18. Бэнни 127 19.06.20 10:11 Сейчас в теме
(17) В текущей реализации - да. Для того чтобы совсем закрыть стандартную форму авторизации нужно настраивать редиректы на сервере
19. andy_zhav 177 19.08.20 10:57 Сейчас в теме
А какие права будут у пользователя? мне кажется без установки прав затея не имеет смысла
20. andy_zhav 177 19.08.20 11:03 Сейчас в теме
Я делал аналогичную задачу. У нас есть http сервис регистрации нового пользователя. Используем post запрос. При этом при создании нового пользователя автоматически назначается группа пользователя с заполненными правами. Все привязано в физлицу. После регистрации пользователь сразу может входить в 1С

// 3. Создаем пользователя ИБ, если его еще нет в базе
Запрос.Текст =
"ВЫБРАТЬ Первые 1
|	Пользователи.Ссылка КАК Ссылка
|ИЗ
|	Справочник.Пользователи КАК Пользователи
|ГДЕ
|	Пользователи.ФизическоеЛицо = &ФизическоеЛицо";
Запрос.УстановитьПараметр("ФизическоеЛицо", ФизЛицо);
Выборка = Запрос.Выполнить().Выбрать();
Если Не Выборка.Следующий() Тогда 
	Пользователь = Справочники.Пользователи.СоздатьЭлемент();
	Пользователь.ФизическоеЛицо = ФизЛицо;
Иначе
	Пользователь = Выборка.Ссылка.ПолучитьОбъект();
КонецЕсли;
Пользователь.Наименование = ФИО;
	ОписаниеПользователяИБ            = Пользователи.НовоеОписаниеПользователяИБ();
ПользовательИБСуществует          = Ложь;
ДоступКИнформационнойБазеРазрешен = Ложь;

// Заполнение начальных значений свойств пользователяИБ.
Если ОбщегоНазначенияПовтИсп.РазделениеВключено() Тогда
	ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора = Ложь;
Иначе
	ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора =
		НЕ Константы.ИспользоватьВнешнихПользователей.Получить();
КонецЕсли;
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
ОписаниеПользователяИБ.Роли = Новый Массив;
ОписаниеПользователяИБ.АутентификацияOpenID = Ложь;		
ОписаниеПользователяИБ.АутентификацияСтандартная = Истина;
ОписаниеПользователяИБ.ЗапрещеноИзменятьПароль = Истина;
ОписаниеПользователяИБ.ПоказыватьВСпискеВыбора = Ложь;
ОписаниеПользователяИБ.АутентификацияОС = Ложь;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("Имя", Логин);
ОписаниеПользователяИБ.Вставить("Пароль", Пароль);
	Пользователь.ДополнительныеСвойства.Вставить(
		"ОписаниеПользователяИБ", ОписаниеПользователяИБ);
			
Пользователь.Записать();
				
ГруппаДоступаЗаказчик = Справочники.ГруппыДоступа.СоздатьЭлемент();
ГруппаДоступаЗаказчик.Родитель = Справочники.ГруппыДоступа.РодительПерсональныхГруппДоступа();
ГруппаДоступаЗаказчик.Наименование = "Заказчик";
ГруппаДоступаЗаказчик.Профиль = Справочники.ПрофилиГруппДоступа.Заказчик;
ГруппаДоступаЗаказчик.Пользователь = Пользователь.Ссылка;
Строка = ГруппаДоступаЗаказчик.Пользователи.Добавить();
Строка.Пользователь = Пользователь.Ссылка;
ГруппаДоступаЗаказчик.Записать();
Показать
Бэнни; +1 Ответить
21. Бэнни 127 19.08.20 15:12 Сейчас в теме
(20) Да вопрос прав пользователей я в своей публикации не поднимал, группы доступа БСП-шные, и не всем это может быть полезно, больше сконцентрирован на самой механике. В работе у нас сделано примерно то же самое что предлагаете вы)
Оставьте свое сообщение
Вопросы с вознаграждением