|
HTTP-сервис в расширении - что ему надо для запуска | ☑ | ||
---|---|---|---|---|
0
bolero
12.02.19
✎
11:05
|
К типовой УТ11 сделал расширение.
В расширении HTTP сервис и роль. У роли права "Использование" на все методы HTTP-сервиса проставлены. Создал профиль групп доступа с этой ролью и галочкой "Запуск внешнего соединения". Добавил группу доступа к пользователю, который и так уже был администратором В default.vrd прописал все варианты наименования сервиса:
/c ЗапуститьОбновлениеИнформационнойБазы сделал Все равно получаю 403 Недостаточно прав для использования ресурса с данным HTTP методом. Для сравнения, встроенный в конфу HTTP-сервис отрабатывает. Чего ему надобно?? |
|||
1
bolero
12.02.19
✎
11:17
|
В отладчике до обработчика не доходит, по ошибке не останавливается.
В ЖР только три записи: Сеанс. Начало; Сеанс. Аутентификация и через 20 секунд Сеанс. Завершение. 20 секунд - это session reuse timeout по-умолчанию. |
|||
2
Мыш
12.02.19
✎
11:27
|
(0) Ставлю дайм, коннектится под пользователем, от имени которого работает веб-сервер
|
|||
3
bolero
12.02.19
✎
11:47
|
(2) веб-сервер работает от системного пользователя httpd, и находится на машине, отдельной от сервера 1с и клиента 1с
К HTTP-сервису пытаюсь прицепиться, используя http auth basic, указывая имя пользователя и пароль пользователя 1с, и то и другое только латиница. URL полностью латиница. |
|||
4
Мыш
12.02.19
✎
11:50
|
(3) Заведи в базе пользователя servername\httpd$
Не забудь про доллар. |
|||
5
bolero
12.02.19
✎
11:59
|
(4) да едрён батон
имя пользователя 1С передается корректно, сеанс создается - видно в ЖР У httpd нет пароля на linux-хосте, где он запущен, потому что пользователь системный. С каким паролем мне его, по-твоему, заводить в 1С? |
|||
6
Мыш
12.02.19
✎
12:10
|
(5) А, так веб под линухом. На винде системный без пароля заходит через пользователя ос.
Сеанс создается, хорошо. Попробуй программно назначить пользователю роль из расширения. Не через группу доступа, а программно. |
|||
7
Мыш
12.02.19
✎
12:14
|
+(6) В конфигураторе у этого пользователя должен стоять флаг <Роли, добавленные расширениями конфигурации>
|
|||
8
trantor77
12.02.19
✎
12:49
|
Включить технологический журнал и посмотреть логи.
Посмотреть логи на веб-сервере. |
|||
9
bolero
12.02.19
✎
12:50
|
(7) во, вот это по делу, спасибо!
У пользователя-администратора с полными правами какие группы не добавляй - ролей не прибавляется, их остается ровно две: Администратор системы и Полные права. Через конфигуратор галочка <Роли, добавленные расширениями конфигурации> для пользователя-администратора даже не появляется, поэтому нажать ее не могу. Сейчас пытаю счастья с ПриЗаполненииПоставляемыхПрофилейГруппДоступа(), но похоже счастья не будет. |
|||
10
bolero
12.02.19
✎
12:51
|
** мне нужно именно админу дать доступ к этому сервису
|
|||
11
Юрий Лазаренко
12.02.19
✎
12:53
|
А что в коде http-сервиса? Может там нет прав на чтение каких-то объектов конфигурации?
|
|||
12
Мыш
12.02.19
✎
12:53
|
(9) Дык это, роли из расширения только так, вроде:
Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя); Пользователь.Роли.Добавить(Метаданные.Роли.РольИзРасширения); Пользователь.Записать(); |
|||
13
Мыш
12.02.19
✎
12:55
|
(11) Не, у него именно роль из расширения не назначена пользователю.
|
|||
14
bolero
12.02.19
✎
13:56
|
(12) Спасибо, взлетело!
В этом же HTTP-сервисе в соседний метод вставил:
Один раз после подключения расширения запустить этот метод от обычного пользователя с профилем, а потом можно работать от нужного. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |