Имя: Пароль:
1C
 
Доступ к веб сервису.
0 Segate
 
17.05.19
10:23
Создали ВС в 1с: Документооборот.
Создали пользователя раздали ему права.

При первом обращении к ВС он падает в ошибку 400 со следующим листингом:
{"#exception":"{http://v8.1c.ru/8.2/bsl}RuntimeException","exception":{"clsid":"8d366056-4d5a-4d88-a207-0ae535b7d28e","reason":26,"module":"ОбщийМодуль.ПользователиКлиентСервер.Модуль","line":21,"descr":"{ОбщийМодуль.ПользователиКлиентСервер.Модуль(21)}: Ошибка при получении значения атрибута контекста (ТекущийПользователь)","#inner":"{http://v8.1c.ru/8.1/data/core}Exception","inner":{"clsid":"f08d92f8-9eb2-4e19-9dd9-977d907cec2d","descr":"","#inner":"{http://v8.1c.ru/8.2/bsl}RuntimeException","inner":{"clsid":"8d366056-4d5a-4d88-a207-0ae535b7d28e","reason":36,"module":"МодульСеанса","line":63,"descr":"{МодульСеанса(63)}: Вам не разрешен доступ к программе через веб-сервер b81. \nОбратитесь к администратору.","moduleId":"urn:module:md:a3f5e643-b9c4-4763-9c5d-91fc9be92710@property='9b7bbbae-9771-46f2-9e4d-2489e0ffc702';version='da06386f16f77f4695f4338271c9a7a200000000'","source":"\u0009\u0009\u0009\u0009ВызватьИсключение ТекстСообщения;","message":"Вам не разрешен доступ к программе через веб-сервер b81. \nОбратитесь к администратору."},"data":"77u/e2YwOGQ5MmY4LTllYjItNGUxOS05ZGQ5LTk3N2Q5MDdjZWMyZCwiIn0="},"moduleId":"urn:module:md:b87ce4f9-aaa6-4a4c-af80-0bd9adc83506@property='d5963243-262e-4398-b4d7-fb16d06484f6';version='21e1fc401e8ca942a24d155fed689dd200000000'","source":"\u0009Возврат ?(ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь),","message":"Ошибка при получении значения атрибута контекста (ТекущийПользователь)"}}


При повторном обращении, такой ошибки не возникает и вс отрабатывает нормально.

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

Может кто то сталкивался?
1 Segate
 
17.05.19
10:25
(0) причем падает вот на этой конструкции:


#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
    УстановитьПривилегированныйРежим(Истина);
    
    Возврат ?(ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь),
              ПараметрыСеанса.ТекущийПользователь,
              ПараметрыСеанса.ТекущийВнешнийПользователь);
#Иначе
    Возврат СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиентаПриЗапуске().АвторизованныйПользователь;
#КонецЕсли


Почему он вообще при обращении к вс может попадать в #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда ??
2 Cyberhawk
 
17.05.19
10:27
Пади дело не в бобине, а в этом "Создали пользователя раздали ему права"
3 Segate
 
17.05.19
10:31
(2) Все бы ничего, да ровно с теми же параметрами повторный вызов этого же вс отрабатывает корректно...
Значит права у пользователя таки есть, или я что то путаю?
4 Cyberhawk
 
17.05.19
10:49
Прикладной код конфигурации может сбрасывать права или выдавать их, и это может выглядеть как запоздание или работа не с первого раза
Основная теорема систематики: Новые системы плодят новые проблемы.