1с мобильное приложение аутентификация пользователя не выполнена
Не осилил - много букавок. Но по теме: Веб-сервер должен быть запущен от пользователя домена, для которого создан в базе 1С пользователь с аутентификацией Windows.
+ То есть, веб-сервер обращается в 1С под одним единственным пользователем.
У меня на данный момент всё работает и в домене (8.2) и в домашней сети (8.3). Проблем не замечаю. Веб-сервер - Апач.
Заказчик требует принципиально IIS, так что работа с Апач не пойдет.
Я не утверждаю, что проблема в веб-сервере, но не исключаю. Можешь гадать на кофейной гуще, а можешь проверить.
Такой вариант в принципе не пойдет (хотя проверил, не работает). Суть в том, что при отработке веб-сервиса мне важно знать, под каким пользователем он исполняется, для того, чтобы сформировать тот же расчетный листок именно для этого пользователя (сотрудника). Т.е. если использовать анонимную проверку подлинности и при вызове веб-сервиса со стороны мобильного приложения передавать конкретного пользователя 1С центральной базы и его пароль, веб-сервис отработает и я буду знать, что это за пользователь, но такой вариант не пойдет из соображений безопасности.
"хотя проверил, не работает" Реши проблему с правами на Апаче, потом бубешь решать проблемы с IIS. По остальному - IIS тоже будет в 1С под одним пользователем ломиться, так что, проблему решай другими средствами. У меня есть html отчет - показывает материальный подотчет по сотруднику: сотрудник выбирает себя в поле на странице и ниже вываливается его подотчет.
Покажи настройки "Проверка подлинности" в IIS (у web сервиса)
Стоит "Обычная проверка подлинности" и "Проверка подлинности Windows", анонимная проверка подлинности отключена. Причем выставляю только обычную, но после публикации веб-сервисов и перезапуске самого веб-сервера автоматом дополнительно включается проверка подлинности Windows.
Такой вариант выбора пользователем себя из списка не пойдет, у него должна быть возможность получить только свои данные по зарплате, не больше.
У "Проверка подлинности Windows" какой поставщик стоит?
Сервак на котором поднят веб сервис и на котором лежит база один?
что-то тут не понятно. "Суть в том, что при отработке веб-сервиса мне важно знать, под каким пользователем он исполняется, для того, чтобы сформировать тот же расчетный листок именно для этого пользователя (сотрудника). " Т.е. предлагается всех кому начисляем ЗП завести пользователями в базу ЗУП?
Да Ок, сейчас попробую Не для всех, из определнного перечня, список пользователей относительно небольшой
где-то на официальном ресурсе 1С я видел статью, в которой объяснялось что для веб-сервисов: - для аутентификации средствами 1С на IIS надо ставить Анонимную проверку подлинности, и при работе с веб-сервисом (на клиенте) указывать имя пользователя и пароль 1С; - для аутентификации средствами ОС на IIS надо ставить Обычную проверку подлинности, и при работе с веб-сервисом (на клиенте) указывать имя пользователя и пароль ОС (пользователь 1С будет сопоставляться с пользователем 1С по данным Аутентификации ОС в 1С (ну как обычно это делают остальные клиенты 1С)); Имхо, Проверка подлинности Windows, это немного другая история, и о ней там ничего не было сказано.
Проверку подлинности Windows можно использовать только в среде интрасети.
1-й пункт работает. 2-й пункт как раз и не работает и нужен именно такой подход с авторизацией
С точки зрения сетевой аутентификации первые два способа опасные (пользователь и пароль передается в открытом виде). Эту проблему решают работой веб-сервера по SSL, тогда трафик попросту шифруется ключами сертификата. Проверка подлинности Windows безопасная - никакой пароль не передается вообще, но она работает только в локальной сети.
нужно в каком то отдельном приложение показывать данные? Если нет, то опубликовать web клиент.
и как ты указываешь имя пользователя во втором случае?
С проверкой подлинности Windows понятно, но не работает с обычной проверкой подлинности. При этом как и говорил выше вместе с веб-сервисами публикуется и веб-клиент и с веб-клиентом проблем нету: переходим по адресу в браузере, вбиваваем доменные логин и пароль и приложение запускается. А с веб-сервисами - беда.
ну ты не сравнивай, так-то, браузер с 1C-ным SOAP-клиентом, это охрененно разные вещи.
Веб-клиент самого ЗУП опубликован, но нужно простое мобильно приложение, грубо говоря с двумя кнопками: "Показать расчетный листок" и "Показать личные данные", мобильное приложение с помощью разработанных в ЗУП веб-сервисов и опубликованных на веб-сервере должно получать данные по запросу из центральной базы (ЗУП). Пример: пользователь Вася запускает мобильное приложение на своем планшете, нажимает кнопку "Показать расчетный листок", вводит свой доменный логин и пароль, и получает свои данные по ЗП.
вырубить анонимную, поставить только обычную, и имя пользователя: DOMAINUSER должно работать
Почему нет? Если использовать анонимную проверку подлинности и вместо доменных логина и пароля использовать логин и пароль пользователя 1С при обращении к веб-сервису со стороны мобильного приложения, все отлично отрабатывает, я знаю в коде операции веб-сервиса центральной базы ЗУП, какой пользователь просит данные по ЗП, и даю ему его данные.
и в 1С должен быть пользователь с включенной аутентификацией ОС с такой записью о учетке \DOMAINUSER, кроме того у него должны быть права на отработку этого веб-сервиса
еще попробуй имя пользователя указать просто USER, чета я сомневаться стал в том что можно домен вообще указать..
Пользователь с включенной аутентификацией ОС есть (при этом аутентификация 1С:Предприятия отключена). Права на обработку веб-сервиса - что под этип подразумевается? разрешения для пользователя стоят, кроме того пользователь включен в группу IIS_IUSRS.
Оно-то может и проще, но стоит именно такая задача. Думаю, все упирается в какие-то настройки, о которых я, к сожалению, не знаю.
у каждого метода веб-сервиса в ролях 1С есть право Используется.
Как вариант сделать обычный транспорт. 1) Веб Сервер с ПХП, к нему обращаются юзеры со своими учетками. 2) На внутри пхп выполнять вызов вебсервиса и параметром передавать туда имя пользователя. 3) Отдать то что получилось в 2)
у меня кончились идеи.. :) после этого я обычно проверяю сам и прошу версию платформы, но так лениво..
Спасибо, возможно. Но хочется верить, что задачу можно решить имеющимися средствами.
Я на всякий случай оставлю версию платформы: 8.3.5.1068, IIS 7.5 :)
Вопрос по-прежнему актуален, возможно, у кого-то появятся еще идеи.
Я так и не понял: ты что, утверждаешь, что где-то когда-то видел, чтобы веб-сервис 1С исполнялся от имени разных пользователей домена? Что-то из разряда фантастики.
+ Немного не правильно выразился: веб-сервер запущен под контретным пользователем домена. К веб-сервису 1С обращается веб-сервер, соответственно, всегда под одним пользователем. Разве может веб-сервер исполнять 10 процессов под 10 пользователями домена?
Допустим, ты прав, к веб-сервису обращается веб-сервер, запущенный под конкретным пользователем домена, и никак иначе быть не может, т.е. невозможно обращаться к веб-сервису от имени разных пользователей домена, только от имени пользователя, под которым запущен веб-сервер. Почему тогда при обращении к самому приложению (не к веб-сервису), опубликованному на веб-сервере, через веб-клиент (браузер) аутентификация ОС срабатывает? В чем разница?
не знаю деталей работы веб-сервера, но в ОС есть функционал олицетворения (имперсонализации), когда поток временно получает права клиента, запрос которого обрабатывает. Естественно, клиента перед этим проверяют, и, обычно, делают это без запроса пароля - средствами доверия в сети.
Т.о. твою задачу проще всего решить используя анонимную аутентификацию на IIS и создавая пользователей в 1С для получения РЛ с правами на выполнение метода веб-сервиса.
Не правильно. У пользователя 1С вообще можно пароль не указывать, достаточно поставить аутентификацию ОС и указать пользователя домена, под которым запущен веб-сервер.
тут решается другая задача, здесь надо чтобы в 1С пользователь авторизовался зависимости от переданных учетных данных, а не всегда одинаково (как запущен вебсервер).
А это я не внимательно прочел)) Тогда я не понял, у тебя что-ли получилось обратиться к веб-сервису под разными пользователями домена?
Только по логину паролю или по доменной авторизации тоже получилось?
Обычная проверка подлинности IIS. Подразумевает передачу логина и пароля. IIS при этом делает аутентификацию по каталогу пользователей AD, в настройках проверки подлинности на IIS можно задать домен по умолчанию.
Ну понятно, шляпа, короче. Такое и средствами веб-сервиса можно забубенить. :)
Аутентификация — это подтверждение, что пользователь действительно тот за кого себя выдает.
Средствами платформы аутентификация выполняется через проверку пароля пользователя.
Для включения аутентификации средствами платформы нужно в настройках пользователя установить флаг Аутентификация 1С:Предприятия:
Ниже можно указать пароль пользователя. Тогда для входа в программу нужно ввести логин и пароль:
Если у пользователя снят флаг Аутентификация 1С:Предприятия, то он не будет отображаться в списке выбора пользователей.
Аутентификация операционной системы
Аутентификация операционной системы работает только для Windows. Но если подключение выполняется через веб-сервер Apache, то аутентификация операционной системы не будет работать.
В настройках пользователя нужно установить флаг Аутентификация операционной системы и выбрать одного из пользователей операционной системы:
При запуске платформа запросит имя пользователя у операционной системы, затем проверит есть ли в списке пользователей 1С пользователь, у которого указана аутентификация операционной системы и указан текущий пользователь ОС. Если такой пользователь 1С есть, то программа будет запущена под ним без запроса логина и пароля. Если нет такого пользователя, то будет выведен стандартный диалог ввода логина и пароля (если установлен флаг Аутентификация 1С:Предприятия).
Для одного пользователя может быть одновременно включена и аутентификация средствами операционной системы и аутентификация 1С:Предприятия.
OpenID-аутентификация
OpenID-аутентификация позволяет использовать для аутентификации в 1С внешний OpenID-провайдер. OpenID-провайдером может быть как база на платформе 1С, так и внешняя система, которая реализует работу по протоколу OpenID Authentication 2.0 и расширение этого протокола, реализованное в платформе 1С.
Преимущество данной аутентификации в том, что один провайдер может использоваться для аутентификации в нескольких базах 1С. Достаточно аутентифицироваться в одной базе, чтобы в другие входить без ввода логина и пароля.
Алгоритм аутентификации через OpenID выглядит следующим образом:
Сначала опубликуем на веб-сервере OpenID-провайдер. Это будет база 1С с пустой конфигурацией:
Чтобы данную базу можно было использовать как OpenID-провайдер нужно на закладке OpenID установить флаг Использовать в качестве OpenID-провайдера и указать Время жизни аутентификации в секундах. После истечения этого времени нужно будет снова ввести логин и пароль при входе в 1С.
Удивительная ситуация: на двух компах с windows 8.1 установлена 8.3.15.1869. "Лицензировались" обе платформы одинаковым образом (unipatch). Одна работает нормально, вторая через 30-40 секунд выдает "нарушение целостности".Обратил внимание на то, как отражена в программе информация о лицензии. Строки перепутаны местами.
1. Эта база РАБОТАЕТ
Текущая:
Локальный HASP4 ORGL8 500, получило клиентское приложение
Информационная база:
Локальный HASP4 ORGL8 10
2. Эта база ВЫЛЕТАЕТ
Текущая:
Локальный HASP4 ORGL8 10, получило клиентское приложение
Информационная база:
Локальный HASP4 ORGL8 500
Почему так происходит?
1. Текущая: Локальный HASP4 ORGL8 500, получило клиентское приложение2. Текущая: Локальный HASP4 ORGL8 10, получило клиентское приложение
"Локальный HASP4 ORGL8 500" - это репак
"Локальный HASP4 ORGL8 10" - это после унипатча
разные файлы backbas.dll, сравните их бинарно и увидите разницу.
если не умеете сравнивать два файла, то вам еще рано знать ответ на ваш вопрос
Сравнить два файла не сложно.
Я, видимо, неправильно сформулировал свой вопрос.
Вопрос следующий - в этом нет причины, по которой на одном компе программа нормально работает, а на другом вылетает?
Возникла такая проблема, версия 8.3.17 и 8.3.16 файловый вариант баз работает нормально, но не удается загрузить dt в sql (ms 2019) пишет нарушение целостности. Причем если восстанавливаю базу с бэкапа самого sql - база восстанавливается, но при запуске тоже нарушение целостности. Репаки не работают со sql или есть решение?Возникла такая проблема, версия 8.3.17 и 8.3.16 файловый вариант баз работает нормально, но не удается загрузить dt в sql (ms 2019) пишет нарушение целостности. Причем если восстанавливаю базу с бэкапа самого sql - база восстанавливается, но при запуске тоже нарушение целостности. Репаки не работают со sql или есть решение? Добрый день
у меня на терминале Windows Server 2019 Standart
MS SQL Server 2019 с последние обновлениями
1С Предприятие 8.3.16.1224 репак х64 работает отлично.
Версии выше пробовал 1с у всех нарушение целосности
остался на 8.3.16.1224
Пользователь сказал cпасибо:
Обратил внимание на то, как отражена в программе информация о лицензии. Строки перепутаны местами.
1. Эта база РАБОТАЕТ
Текущая:
Локальный HASP4 ORGL8 500, получило клиентское приложение
Информационная база:
Локальный HASP4 ORGL8 10
2. Эта база ВЫЛЕТАЕТ
Текущая:
Локальный HASP4 ORGL8 10, получило клиентское приложение
Информационная база:
Локальный HASP4 ORGL8 500
Почему так происходит?
Я решил проблему следующим образом:полностью скопировал папку "8.3.15.1869" с работающего компьютера и перенес на неработающий (предварительно удалив с него такую же папку).
После этого на обоих компах всё нормально работает.
Теперь только остался вопрос, как дальше обновляться :(
Добрый день.
После сброса пользователей и паролей, через конфигуратор установлен новый пользователь с полными правами.
Однако в 1с не заходит ("Идентификация пользователя не выполнена"), в конфигуратор - пожалуйста, пароль работает.
В чем может быть проблема и какие возможные пути решения?
(установлено 8.3.16.1296_Windows_RePack_x64, загружена по ссылкам с руборда)
Заранее благодарен за ответ.
Приветствую
Нужна небольшая помощь, потому что мозги сломал уже. Либо я что-то не понимаю, либо упускаю, либо проблема столь проста, что гуру нигде в куроводствах про её решение не упоминают.
Преамбула:
Пишу небольшое приложение на управляемых, которое должно работать также и на андроидовых мобильниках.
Для публикации в сети приходится пользоваться IIS 7.5, установленном на Win 2008 R2
По всяким руководствам настроил веб-сервер, сделал публикацию базы. Взлетает и на тонких (через хттп) и в браузерах. Локалка/интернет - работает без разницы.
Нафеячил мобильное приложение. Оно на мобилу установилось, фунциклирует как надо, свою базу ведет, блымает и переливаецца.
Амбула, блин :
Не могу настроить обмен.
По всякому уже строил, сервак сносил/ставил раз пять (виртуальный). Но нифига. Одна и та же ошибка, что бы я на серваке не конфигурил. Точнее - две.
Если я в модуле общей команды Обмен пишу
то приложение на мобиле выводит такую ругань:
Ругань
: Помилка при виклику методу контексту (ВыполнитьОбмен)
через:
Під час виклику веб-сервісу відбулася помилка. Помилка виклику операції сервісу: :WebОбмен:ВыполнитьОбмен()
через:
Під час виклику веб-сервісу відбулася помилка. Аутентифікація користувача не виконана.
Ошибка сервера в приложении "ip-address.local/ZAK2"
Internet Information Services 7.5
Подробные сведения об ошибке
МодульIsapiModuleУведомлениеExecuteRequestHandlerОбработчик1C Web-service ExtensionКод ошибки0x00000000
Наиболее вероятные причины:
Специальное расширение ISAPI, приложение CGI, страница ASP или обработчик заблокировали запрос с ошибкой "Доступ запрещен".
Ссылки и дополнительные сведения.
URL-адрес, куда надо попасть, представляет собой страницу ASP или подключен к расширению ISAPI, приложению CGI либо к специализированному обработчику. Специальное расширение ISAPI, приложение CGI, страница ASP или обработчик отказали в выполнении запроса, возвратив ошибку "Доступ запрещен".
Дополнительные сведения. »
Статьи базы знаний Microsoft Knowledge Base:
907273
через:
Аутентифікація користувача не виконана.
А вот если я в модуле общей команды Обмен уберу имя и пароль
то приложение на мобиле говорит следующее:
: Помилка при виклику конструктора (WSОпределения)через:
Аутентифікація користувача не виконана. URL сервісу: [необходимо зарегистрироваться для просмотра ссылки]ОбщаяКоманда.Обмен.МодульКоманды(12)>
Т.е. я так понимаю, что первый вариант, с логином и паролем - вернее.
Но что строить в этом копанном IIS - я уже не понимаю. Все права есть, опубликованная база работает. Приложение на мобилу грузится и выполняется. Чё ему надо для обмена - неферштейн.
кст. Апач - вещь хорошая, но в данном случае не катит.
ЗЫ. Код модуля обмена полностью, если шо.
если шо
Собственно Вам текст ошибки говорит что не так - не выполнена аутентификация, т.е. неправильно ввели логин и пароль.
Вы когда через браузер пытаетесь в опубликованную базу зайти, у вас же логин и пароль от базы спрашивает - вот под ними и нужно подключаться.
WSОпределение вроде как правильно оформили - у меня аналогичный код в моем приложении норм работает, смотрите в сторону очепяток, языка и т.д.) Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница ValeryZ --> ValeryZ
Bernet @ Сегодня, 14:45 ,
Да суть в том, что я уже и в 1С прописал юзера с максимальными правами, и на серваке точно такого же админа создал. но ошибка первого типа все едино выходит.
Может в мобильном платформе трабл?
Основную конфу пишу на 8.3.10.2252
Мобильная 8.3.10.51
Читайте также: