#0
by unkairosed
Почему-то не могу написать в свою предыдущую тему по этому вопросу, дублирую текст здесь с дополнением. Стоит задача разработать мобильное приложение для 1С:ЗУП для рядового сотрудника. У пользователя должна быть возможность просматривать свой расчетный листок и личные данные (кадровые). Есть центральная база 1С:ЗУП. В ней разработаны веб-сервисы, опубликованы на веб-сервере, используется IIS. При публикации указываю "Использовать аутентификацию операционной системы". Мобильное приложение также опубликовано на веб-сервере, при публикации выставлен флаг "Использовать аутентификацию операционной системы на веб-сервере". При добавлении ИБ в мобильном приложении (на мобильном устройстве) указываю доменного пользователя и его пароль, мобильное приложение успешно загружается с веб-сервера. Проблема в том, что при обращении к веб-сервису из мобильного приложения система выдает ошибку: "Аутентификация пользователя не выполнена", при обращении указываю доменного пользователя и его пароль (для WSОпределения и для WSПрокси). Если вместе с веб-сервисами опубликовать само приложение (1С:ЗУП), то при обращении к нему по адресу в веб-браузере происходит запрос на ввод пользователя и пароля (доменная учетка), ввожу, принимает, захожу в приложение. Если же через браузер обращаюсь к веб-сервису, также запрашивает пользователя и пароль, ввожу, но не прохожу авторизацию. В IIS анонимная проверка подлинности отключена, включены "Проверка подлинности Windows" (хотя пробовал "Обычная проверка подлинности" - ситуация та же). Доменный пользователь добавлен в группу IIS_IUSRS. Никак не могу разобраться с решением этой проблемы, просьба помочь, кто в теме, заранее спасибо. Дополнение: Если в браузере ввожу адрес, по которому расположен веб-сервис то выпадает окошко "Необходима авторизация" с текстом "Для доступа на сервер требуется указать имя пользователя и пароль. Сообщение сервера: 192.168.100.93". Ввожу логин и пароль, выпадает это же окошко, но с несколько другим текстом: "Для доступа на сервер требуется указать имя пользователя и пароль. Сообщение сервера: 1C:Enterprise 8.3", снова ввожу тот же логин и пароль (доменная учетка) и выпадает окошко с первым текстом. Если при первом вводе логина и пароля намеренно сделать ошибку при вводе логина и пароля, то окошко со вторым текстом не выпадает, а снова выпадает первое. Т.е. можно сделать вывод, что авторизация проходит, скажем так, "частично".
#1
by Cube
Не осилил - много букавок... Но по теме: Веб-сервер должен быть запущен от пользователя домена, для которого создан в базе 1С пользователь с аутентификацией Windows.
#3
by Cube
У меня на данный момент всё работает и в домене (8.2) и в домашней сети (8.3). Проблем не замечаю. Веб-сервер - Апач.
#5
by Cube
Я не утверждаю, что проблема в веб-сервере, но не исключаю. Можешь гадать на кофейной гуще, а можешь проверить.
#6
by unkairosed
Такой вариант в принципе не пойдет (хотя проверил, не работает). Суть в том, что при отработке веб-сервиса мне важно знать, под каким пользователем он исполняется, для того, чтобы сформировать тот же расчетный листок именно для этого пользователя (сотрудника). Т.е. если использовать анонимную проверку подлинности и при вызове веб-сервиса со стороны мобильного приложения передавать конкретного пользователя 1С центральной базы и его пароль, веб-сервис отработает и я буду знать, что это за пользователь, но такой вариант не пойдет из соображений безопасности.
#7
by Cube
"хотя проверил, не работает" Реши проблему с правами на Апаче, потом бубешь решать проблемы с IIS. По остальному - IIS тоже будет в 1С под одним пользователем ломиться, так что, проблему решай другими средствами. У меня есть html отчет - показывает материальный подотчет по сотруднику: сотрудник выбирает себя в поле на странице и ниже вываливается его подотчет.
#9
by unkairosed
Стоит "Обычная проверка подлинности" и "Проверка подлинности Windows", анонимная проверка подлинности отключена. Причем выставляю только обычную, но после публикации веб-сервисов и перезапуске самого веб-сервера автоматом дополнительно включается проверка подлинности Windows.
#10
by unkairosed
Такой вариант выбора пользователем себя из списка не пойдет, у него должна быть возможность получить только свои данные по зарплате, не больше.
#15
by DmitrO
что-то тут не понятно... "Суть в том, что при отработке веб-сервиса мне важно знать, под каким пользователем он исполняется, для того, чтобы сформировать тот же расчетный листок именно для этого пользователя (сотрудника)..." Т.е. предлагается всех кому начисляем ЗП завести пользователями в базу ЗУП?
#17
by unkairosed
Да Ок, сейчас попробую Не для всех, из определнного перечня, список пользователей относительно небольшой
#21
by DmitrO
где-то на официальном ресурсе 1С я видел статью, в которой объяснялось что для веб-сервисов: - для аутентификации средствами 1С на IIS надо ставить Анонимную проверку подлинности, и при работе с веб-сервисом (на клиенте) указывать имя пользователя и пароль 1С; - для аутентификации средствами ОС на IIS надо ставить Обычную проверку подлинности, и при работе с веб-сервисом (на клиенте) указывать имя пользователя и пароль ОС (пользователь 1С будет сопоставляться с пользователем 1С по данным Аутентификации ОС в 1С (ну как обычно это делают остальные клиенты 1С)); Имхо, Проверка подлинности Windows, это немного другая история, и о ней там ничего не было сказано.
#23
by unkairosed
1-й пункт работает. 2-й пункт как раз и не работает и нужен именно такой подход с авторизацией
#24
by DmitrO
С точки зрения сетевой аутентификации первые два способа опасные (пользователь и пароль передается в открытом виде). Эту проблему решают работой веб-сервера по SSL, тогда трафик попросту шифруется ключами сертификата. Проверка подлинности Windows безопасная - никакой пароль не передается вообще, но она работает только в локальной сети.
#25
by Aloex
нужно в каком то отдельном приложение показывать данные? Если нет, то опубликовать web клиент.
#27
by unkairosed
С проверкой подлинности Windows понятно, но не работает с обычной проверкой подлинности. При этом как и говорил выше вместе с веб-сервисами публикуется и веб-клиент и с веб-клиентом проблем нету: переходим по адресу в браузере, вбиваваем доменные логин и пароль и приложение запускается. А с веб-сервисами - беда.
#28
by DmitrO
ну ты не сравнивай, так-то, браузер с 1C-ным SOAP-клиентом, это охрененно разные вещи.
#29
by unkairosed
Веб-клиент самого ЗУП опубликован, но нужно простое мобильно приложение, грубо говоря с двумя кнопками: "Показать расчетный листок" и "Показать личные данные", мобильное приложение с помощью разработанных в ЗУП веб-сервисов и опубликованных на веб-сервере должно получать данные по запросу из центральной базы (ЗУП). Пример: пользователь Вася запускает мобильное приложение на своем планшете, нажимает кнопку "Показать расчетный листок", вводит свой доменный логин и пароль, и получает свои данные по ЗП.
#34
by DmitrO
вырубить анонимную, поставить только обычную, и имя пользователя: DOMAINUSER должно работать
#36
by unkairosed
Почему нет? Если использовать анонимную проверку подлинности и вместо доменных логина и пароля использовать логин и пароль пользователя 1С при обращении к веб-сервису со стороны мобильного приложения, все отлично отрабатывает, я знаю в коде операции веб-сервиса центральной базы ЗУП, какой пользователь просит данные по ЗП, и даю ему его данные.
#37
by DmitrO
и в 1С должен быть пользователь с включенной аутентификацией ОС с такой записью о учетке \DOMAINUSER, кроме того у него должны быть права на отработку этого веб-сервиса
#39
by DmitrO
еще попробуй имя пользователя указать просто USER, чета я сомневаться стал в том что можно домен вообще указать..
#41
by unkairosed
Пользователь с включенной аутентификацией ОС есть (при этом аутентификация 1С:Предприятия отключена). Права на обработку веб-сервиса - что под этип подразумевается? разрешения для пользователя стоят, кроме того пользователь включен в группу IIS_IUSRS.
#46
by unkairosed
Оно-то может и проще, но стоит именно такая задача. Думаю, все упирается в какие-то настройки, о которых я, к сожалению, не знаю.
#49
by arsik
Как вариант сделать обычный транспорт. 1) Веб Сервер с ПХП, к нему обращаются юзеры со своими учетками. 2) На внутри пхп выполнять вызов вебсервиса и параметром передавать туда имя пользователя. 3) Отдать то что получилось в 2)
#50
by DmitrO
у меня кончились идеи.. :) после этого я обычно проверяю сам и прошу версию платформы, но так лениво..
#51
by unkairosed
Спасибо, возможно. Но хочется верить, что задачу можно решить имеющимися средствами.
#54
by Cube
Я так и не понял: ты что, утверждаешь, что где-то когда-то видел, чтобы веб-сервис 1С исполнялся от имени разных пользователей домена? Что-то из разряда фантастики...
#55
by Cube
+ Немного не правильно выразился: веб-сервер запущен под контретным пользователем домена. К веб-сервису 1С обращается веб-сервер, соответственно, всегда под одним пользователем. Разве может веб-сервер исполнять 10 процессов под 10 пользователями домена?
#56
by unkairosed
Допустим, ты прав, к веб-сервису обращается веб-сервер, запущенный под конкретным пользователем домена, и никак иначе быть не может, т.е. невозможно обращаться к веб-сервису от имени разных пользователей домена, только от имени пользователя, под которым запущен веб-сервер. Почему тогда при обращении к самому приложению (не к веб-сервису), опубликованному на веб-сервере, через веб-клиент (браузер) аутентификация ОС срабатывает? В чем разница?
#58
by MM
не знаю деталей работы веб-сервера, но в ОС есть функционал олицетворения (имперсонализации), когда поток временно получает права клиента, запрос которого обрабатывает. Естественно, клиента перед этим проверяют, и, обычно, делают это без запроса пароля - средствами доверия в сети.
#59
by DmitrO
провел испытания.. По тому что написано в : похоже что это так было в 8.2. В 8.3 так: пункт 1 (про анонимную на IIS) - все также; пункт 2 (про обычную на IIS) - имя пользователя и пароль передаваемый SOAP-клиентом в HTTP запросе должны совпадать с именем и паролем пользователя 1С предприятия. Проверка подлинности Windows на IIS - мне так и не удалось заставить работать SOAP-клиента 1C с такой аутентификацией на IIS, подозреваю что это не возможно в принципе, ибо такая аутентификация подразумевает двухсторонний обмен данными между клиентом и сервером, т.е. несколько запросов туда сюда, он так попросту не умеет, а браузеры умеют.
#60
by DmitrO
Уточнение. пункт 2 (про обычную на IIS) - имя пользователя и пароль передаваемый SOAP-клиентом в HTTP запросе для аутентификации на IIS должны совпадать с именем и паролем пользователя 1С предприятия. Т.о. у нас и в AD и в 1С должен быть пользователь с одинаковым имененм и паролем.
#61
by DmitrO
Т.о. твою задачу проще всего решить используя анонимную аутентификацию на IIS и создавая пользователей в 1С для получения РЛ с правами на выполнение метода веб-сервиса.
#62
by Cube
Не правильно. У пользователя 1С вообще можно пароль не указывать, достаточно поставить аутентификацию ОС и указать пользователя домена, под которым запущен веб-сервер.
#63
by DmitrO
тут решается другая задача, здесь надо чтобы в 1С пользователь авторизовался зависимости от переданных учетных данных, а не всегда одинаково (как запущен вебсервер).
#64
by Cube
А это я не внимательно прочел)) Тогда я не понял, у тебя что-ли получилось обратиться к веб-сервису под разными пользователями домена?
#67
by DmitrO
Обычная проверка подлинности IIS. Подразумевает передачу логина и пароля. IIS при этом делает аутентификацию по каталогу пользователей AD, в настройках проверки подлинности на IIS можно задать домен по умолчанию.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Отчет по количеству материалов, обход по всем спецификациям
- ПоказатьВопрос при заполнении табличной части документа (внешней обработкой)
- WA: Финансист. Управление денежными средствами 8. Отзывы, мнения
- 1С 8.2 Ошибка выполнения отчета на СКД без пояснений 1С Предприятия
- Поле объекта недоступно для чтения
- УТ 10.3 не совпадает сумма документа с суммой в списке
- Ошибка 8.3 УТ11.1 последняя платформа установлена
- ПоказатьВопрос() не работает
- Загрузка Кладра оффлайн в Бухгалтерию 3.0
- СКД, условное оформление для макета
- Изменить представление ссылки в поле ввода
- Интеграция Рарус-Софтфон и УТ11.1
- Помогите вывести результат запроса в табличный документ? Выводит пустую таблицу
- 1С: БП 3.0 - справочник "Профили групп доступа"
- Сканер ШК Ethernet -> 1с
- 1С ЖКХ не обнаружен ключ защиты программы
- Не работает линк
- Какой браузер открывает ссылку в поле HTML?
- БП 3.0 должность сотрудника
- Не запускается Агент сервера 1С 8.3