Для начала давайте рассмотрим принцип работы вообще HTTP-сервисов.
По сути, это доступ к информационной базе 1С через WEB и он был создан для того, чтобы отвечать на запросы извне.
Схема работы примерно следующая:
Пользователь ⟷ Браузер (Chrome, FireFox, Opera...) ⟷ Наш сервер с веб-сервером Apache или IIS ⟷ 1C
Обратите внимание, что браузер посылает запросы нашему веб серверу. То есть наш сервер должен быть доступен из того места, откуда мы посылаем запрос.
Если это локальная сеть, то через браузер мы можем работать только в локальной сети. Если же мы хотим подключаться к нашему личному кабинету из любого места, необходимо, чтобы веб-сервер был доступен из интернета. Для этого понадобится либо белый IP-адрес, который необходимо получить у провайдера, либо настройка вашего роутера (например, некоторые роутеры типа Keenetic умеют давать доступ через свои сервера к вашей внутренней сети и присваивая вашему роутеру определенный адрес вида my1c.zyxel.com).
Вот как можно настроить через роутер Keenetic:

После того как вы разберётесь с вопросом белого или серого IP-адреса, необходимо настроить личный кабинет.
Ранее мы уже рассмотрели, как установить веб-сервер Apache или IIS.
Теперь необходимо опубликовать базы и найти VRD-файл, который отвечает за публикацию вашей базы 1С через веб.
Необходимо отключить стандартную авторизацию средствами 1С в личном кабинете, чтобы не отображалось следующее окно:

В личном кабинете используется своя красивая форма авторизации, которая также безопасна, как и стандартная, и прекрасно позволит авторизоваться пользователю. Безопасна она также потому, что использует проверку логина и пароля тем же способом, что и сама 1С.
Для того чтобы убрать эту форму и заменить своей новой страницей авторизации, необходимо произвести дополнительные настройки с публикацией ИБ:
Настройка публикации Apache
Выполните дополнительную настройку сервера Apache, которую начали при публикации конфигурации ранее в уроке «Публикация конфигурации на веб-сервере Apache». После публикации ИБ необходимо внести изменения в конфигурационный файл Apache и создать вторую публикацию ИБ. Для этого необходимо перейти в каталог, куда установлен Apache (у меня это C:\xampp\apache), затем открыть папку conf и отредактировать файл httpd.conf, а именно строки, добавленные при публикации базы:
# 1c publication Alias "/ITdemo" "D:/Apache/ITDemo/" <Directory "D:/Apache/ITDemo/"> AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "D:/Apache/ITDemo/default.vrd" </Directory>Скопируйте и вставьте этот блок ниже. В результате должно получиться следующее:
# 1c publication Alias "/ITdemo" "D:/Apache/ITDemo/" <Directory "D:/Apache/ITDemo/"> AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "D:/Apache/ITDemo/default.vrd" </Directory> # 1c publication Alias "/ITdemo" "D:/Apache/ITDemo/" <Directory "D:/Apache/ITDemo/"> AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "D:/Apache/ITDemo/default.vrd" </Directory>В скопированном блоке измените следующие строки на собственные значения:
Alias "/ITdemo" "D:/Apache/ITDemo/" -> Alias "/ITLk" "D:/Apache/ITDemoLK/"– таким образом вы добавляете ещё одну публикацию ИБ с именем «ITLk», которая будет расположена по следующему пути D:/Apache/ITDemoLK
<Directory "D:/Apache/ITDemo/"> -> <Directory "D:/Apache/ITDemoLK/">- сам каталог файлов новой публикации;
ManagedApplicationDescriptor "D:/Apache/ITDemo/default.vrd" -> ManagedApplicationDescriptor "D:/Apache/ITDemoLK/default.vrd"- файл описания параметров подключения.
В результате должно получиться так:
# 1c publication Alias "/ITdemo" "D:/Apache/ITDemo/" <Directory "D:/Apache/ITDemo/"> AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "D:/Apache/ITDemo/default.vrd" </Directory> # 1c publication Alias "/ITLk" "D:/Apache/ITDemoLK/" <Directory "D:/Apache/ITDemoLK/"> AllowOverride All Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "D:/Apache/ITDemoLK/default.vrd" </Directory>
Далее необходимо создать каталог по прописанному пути, который только что был прописан (у меня это D:/Apache/ITDemoLK/) и скопировать в него файл default.vrd из ранее опубликованной базы. Откройте его для редактирования:
<?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="/ITdemo" ib="File="D:\Bases\Tests\ITdemo";" enableStandardOData="true"> <ws> <point name="AddressSystem" alias="AddressSystem.1cws" enable="true"/> <point name="EnterpriseDataExchange_1_0_1_1" alias="EnterpriseDataExchange_1_0_1_1.1cws" enable="true"/> <point name="EnterpriseDataUpload_1_0_1_1" alias="EnterpriseDataUpload_1_0_1_1.1cws" enable="true"/> <point name="EquipmentService" alias="EquipmentService.1cws" enable="true"/> <point name="Exchange" alias="exchange.1cws" enable="true"/> <point name="Exchange_2_0_1_6" alias="exchange_2_0_1_6.1cws" enable="true"/> <point name="InterfaceVersion" alias="InterfaceVersion.1cws" enable="true"/> <point name="KnowledgeDB" alias="kdb1.1cws" enable="true"/> </ws> <httpServices> <service name="УстановкаОценокПоЗаданиям" rootUrl="score" enable="true" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5"> <accessTokenAuthentication> <issuers/> <accessTokenRecepientName/> </accessTokenAuthentication> </service> <service name="ЛичныйКабинет" rootUrl="lk" enable="true" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5"> <accessTokenAuthentication> <issuers/> <accessTokenRecepientName/> </accessTokenAuthentication> </service> </httpServices> </point>В новом файле необходимо внести следующие изменения:
base="/ITdemo" - > base="/ITLk"
В строку подключения добавьте пользователя, данные которого будут использоваться для авторизации средствами 1С в браузере:
ib="File="D:\Bases\Tests\ITdemo";Usr="UsrLK";Pwd="741596378951";"
Пользователя «UsrLK» с паролем «741596378951» (здесь следует указать вашего служебного пользователя) необходимо добавить в ИБ позже.
<?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="/ITLk" ib="File="D:\Bases\Tests\ITdemo";Usr="UsrLK";Pwd="741596378951";" enableStandardOData="true"> <httpServices> <service name="ЛичныйКабинет" rootUrl="lk" enable="true"/> </httpServices> </point>
После внесённых изменений необходимо перезапустить Apache, затем можно переходить к настройкам конфигурации.
Настройка публикации IIS
После публикации ИБ на веб-сервере IIS (см. «Публикация конфигурации на веб - сервере IIS») в каталоге c:\inetpub\wwwroot\ создайте новый каталог ITdemoLK, скопируйте в него содержимое каталога первой публикации c:\inetpub\wwwroot\ITdemo\, а именно 2 файла: default.vrd и web.config. Откройте файл default.vrd на редактирование и внесите следующие изменения:
base="/ITdemo" - > base="/ITdemoLK"
- имя второй публикации ИБ;В строку подключения добавьте пользователя, который будет использоваться для авторизации средствами 1С (в окне авторизации при открытии личного кабинета в браузере):
ib="File="D:\Bases\Tests\ITdemo";Usr="UsrLK";Pwd="741596378951";"
Строка подключения для серверной базы будет выглядеть примерно так:
ib="Srvr="АДРЕС_СЕРВЕРА";Ref="НАЗВАНИЕ_БАЗЫ";Usr="UsrLK";Pwd="741596378951";"
Пользователя UsrLK с паролем 741596378951 (здесь необходимо указать вашего служебного пользователя) нужно будет добавить в ИБ позже.Блоки веб-сервисов, а также блок описания HTTP-сервисов, можно удалить. В результате должен получиться следующий вариант файла:
<?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="/ITdemoLK" ib="File="D:\Bases\Tests\ITdemo";Usr="UsrLK";Pwd="741596378951"" enableStandardOData="true"> <httpServices> <service name="ЛичныйКабинет" rootUrl="lk" enable="true"/> </httpServices> </point>
Для вновь созданной папки c:\inetpub\wwwroot\ITdemoLK\ необходимо предоставить полные права доступа пользователю IUSR и группе IIS_IUSRS - аналогично тому, как это делалось при первой публикации ИБ.
Затем откройте Диспетчер служб IIS, раскройте ветку Default Web Site и найдите добавленную вами папку ITdemoLK. В контекстном меню этой папки выберите "Преобразовать в приложение":



Создайте профиль групп доступа и выберите права, указанные на скриншоте. В созданную группу доступа добавьте пользователя UsrLK. Не беспокойтесь: даже при использовании автоматической авторизации конечный пользователь получит доступ только к тем объектам, к которым у него есть разрешения.

Также необходимо убедиться, что в настройках самого Личного кабинета указана нужная страница авторизации. Для этого откройте центральную базу и перейдите: Администрирование → Личный кабинет → Настройки → Дополнительно. В реквизите "Шаблон страницы авторизации" должно быть указано имя файла login.html, который формирует новую страницу авторизации.

В результате пользователь увидит современную и удобную форму входа вместо стандартной:

Также реализована возможность смены пользователя прямо из интерфейса:

Стандартная форма авторизации не предоставляет такой функциональности.
Функционал собственной авторизации доступен, начиная с версии 3.1.8.1