HTTP сервис и Сохранение пароля на IPHONE. Часть 3 Анонимная аутентификация

Печать (Ctrl+P)

Проблема с аутентификацией и сохранеия пароли на устройствах с ОC IOS я написал в первой части статьи здесь .

Проблема в том, что клиентское приложение почты на iPhone и iPad в отличии от смартфонов не сохраняют параметры входа и каждый раз запрашивают их у пользователя для передачи на веб-сервер в HTTP-запросе

Форма ввода имени и пароля в програме почты на iPhone и iPad

Такое поведение неудобно когда нужно часто ображаться к веб-серверу для получения данных или выполнения операции через НТТР запросы, .например, согласование платежей

Попытка исползования OpenID-аутентификации с целью обойти эту проблему я описал во вторй части статьи здесь. Но ничего не получилось – программа “почта” все время запрашивает у пользователя имя и пароль для отправки к веб – серверу через НТТР запрос

В этой третьей части я описываю методику, с помощью которой мне удалось обойти эту проблему.

Суть методики в том, что нужно опубликовать только http-сервис в отдельном файле публикации и добавить в нем специальный анонимный пользователь 1С .Таким образом веб – сервер не затребует у клиентского приложения передать имя и пароль .

Порядок работы

1. Публикация http-сервис в отдельной публикации

С помощью диалога публикации в конфигурации информационной базы   не нужно опубликовать тонкий клиент , веб-клиент , а также стандартный интерфейс Odata и все веб – сервисе на закладке веб-сервисы .

  На закладке НТТР сервисы  публиковать  НТТР сервис.  В моем приложение 1С : согласование я создал только один один НТТР сервис –  Установка статуса заявки

После нажатия опубликовать нужно редактировать файл  публикации default.vrd с помощью простого текстового редактора Блокнот или Notepad

Фрагмент файла публикации default.vrd

В этом файле нужно найти тег ib =  и довавить   user =UserHttp; pwd = 123

Этот ползователь UserHttp  я добавил предворительно в базу данных, установил пароль 123   и дал ему полные права . Однако не показываю в списке выбора :

Внимание! Если имя и пароль в этом файле не соответствует пользователю 1С  , то при обращении к сервису будет выдана ошибка при получении значения атрибута контекста (ТекущийПользователь). и обработать случай, когда  параметры входа, которые заданные в файле не соответствуют  ни одному пользователю . Поэтому если будете изменять пароль  у пользователя usrHttp  в базе данных, то нужно также менять его в файле публикации.

Для обращения НТТР сервису через Agreement не нужно авторизоваться. Все сделает пользователь usrHttp :

При попытке запускать веб –клиент на  Agreement браузер выдает сообщение:

2. Создать еще один файл публикации

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

Файл публикации  WAgreement не нужно редактировать!!!!!

Для запуска веб- приложения нужно теперь обращаться к WAgreement, но при этом нужно авторизоваться :

Previous Article
Next Article

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.