Мне пришлось поднять несколько веб-серверов, чтобы развести потоки авторизации, данных от мобильных приложений, пользователей бэк-офиса и канал для BI-системы. Ниже кратко описано зачем и как я это сделала
Настройка веб-сервера для авторизации по СМС
Когда мобильное устройство делает первый запрос на сервер, пользователь еще не авторизовался в базе данных. Чтобы все-таки как-то получить ответ от сервера 1С, необходимо создать специальный веб-сервер для авторизации:
Во-первых, необходимо создать пользователя (и роль), которому доступно только выполнение процедуры авторизации
Во-вторых, необходимо создать отдельную публикацию базы 1С на веб-сервере. Она нужна только для авторизации, поэтому ее необходимо назвать соответствующим образом: <имя публикации>_noauth. Мое мобильное приложение автоматически ищет путь для авторизации, добавляя к адресу основной публикации “_noauth”. При публикации обязательно опубликуй http-сервис, через который будет идти авторизация:
Конфигуратор → Администрирование → Публикация на веб-сервере
Лучше снять все галки публикации, кроме сервиса, отвечающего за авторизацию (у нас он в расширении) и Публикации для клиентских приложений:
В-третьих, надо сделать так, чтобы мобильное устройство уже было “авторизовано” при обращении к данному веб-серверу. Для этого отредактируй имя пользователя и пароль в файле default.vrd в строке ib=
<?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/ИмяПубликации" ib="Srvr="Сервер";Ref="База";usr=Пользователь;pwd=Пароль"> <httpServices> <service name="MyAuthorizationSMS" rootUrl="MyAuthorizationSMS" enable="true" reuseSessions="dontuse" sessionMaxAge="20" poolSize="1000" poolTimeout="50"/> </httpServices> </point>
После перезапуска веб-сервера по данному адресу можно будет только запрашивать СМС или звонок для авторизации
При необходимости, данный веб-сервер можно разместить на отдельной машине. Для этого необходимо только указать корректное имя сервера в публикации
Настройка веб-сервера для заполнения анкеты на сайте (Progressive web application)
Здесь можно просто опубликовать базу с минимальными настройками, указав логин и пароль пользователя, у которого есть право доступа к Вашей обработке для заполнения анкеты и право запуска web-клента
<?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/ИмяПубликацииPWA" ib="Srvr="Сервер";Ref="База";usr=Пользователь;pwd=Пароль"> </point>
Если пользователи должны авторизоваться (например, если это ваши клиенты, которым вы даете доступ, например, к панели заказов), то публикация без логина и пароля
<?xml version="1.0" encoding="UTF-8"?> <point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/ИмяПубликацииPWA" ib="Srvr="Сервер";Ref="База""> </point>
Добавить комментарий