|
Под кем работает COM-соединение? | ☑ | ||
---|---|---|---|---|
0
Garry1010
12.08.19
✎
14:22
|
Под каким пользователем работает COM-соединение? Клиент-сервер.
Почему возник вопрос: требуется по com'у вызвать обработку в другой базе, а там она должна сохранить результат в файл. Так вот пока обработка работала в регламентном задании, всё было окейно. А стали пытаться вызывать её по com'у - облом с доступом к вышеуказанному файлу. Переделал на обращение к локальному (было - к сетевому) файлу - пофик, всё равно нет доступа. Настраивал comexp.msc - что-то не влияет... |
|||
1
Kigo_Kigo
12.08.19
✎
14:24
|
предполагаю, что под тем же пользователем от имени которого запущена программа из которой вызывается ком-соеденение
|
|||
2
Провинциальный 1сник
12.08.19
✎
14:28
|
Если на сервере 1с - то под тем пользователем, от имени которого запущен сервер 1с. Если на клиенте - то от имени клиента.
|
|||
3
Garry1010
12.08.19
✎
14:34
|
(2) Про сервер - ТОЧНО?
Потому что там стоит типовой USR1CV82. У этого же пользователя есть доступ к папке, куда я собираюсь писать файл, но Винда - не даёт доступа. Там такая цепочка получается: на сервере вызывается регламентное задание, запускается фоновое задание, из него(!) вызывается создание COM-соединения, по этому КОМу запускается обработка, которая получает данные и пытается записать их в файл - где и происходит облом. До попытки записи всё проходит успешно. А не работает ли COM-соединение под каким-то своим пользователем, который где-то ещё прописан? |
|||
4
ДенисЧ
12.08.19
✎
14:36
|
Запусти в своём фоновом задании КомандаСистемы("set > какой-токаталог, куда есть доступ\set.txt")
а потом на это файлик руками глянь, там всё есть |
|||
5
Garry1010
12.08.19
✎
14:44
|
(4) А что именно смотреть в результатах команды SET? Там много чего будет... или не будет.
|
|||
6
Skylark
12.08.19
✎
14:47
|
Дать USR1CV82 права на запуск СОМ32
|
|||
7
Skylark
12.08.19
✎
14:48
|
comexp.msc /32
|
|||
8
ДенисЧ
12.08.19
✎
14:49
|
(5) например username
|
|||
9
Garry1010
12.08.19
✎
14:56
|
(8) А-а-а... Это бы хорошо, но как узнать что это за пользователь, чтобы знать какие куда доступы у него есть? ;))
|
|||
10
Garry1010
12.08.19
✎
15:10
|
(6) Это в ролях в comexp.msc? Есть там этот юзер. Может, сервер перезагрузить, конечно...
|
|||
11
Garry1010
13.08.19
✎
08:55
|
Результат: пока не создал папку с полными правами для группы Users, оно не хотело работать.:((
Так и непонятно, кто же был нужный юзер? |
|||
12
ДенисЧ
13.08.19
✎
08:57
|
(11) А теперь создай файл из своего фонового и посмотри в свойства оного файла. На создателя.
|
|||
13
Сияющий в темноте
13.08.19
✎
09:22
|
Сервер 64,соединение 32,используется Com+,чтобы работало,и вот о имени этого Com+ и создается соединение.
но нн все так просто,службы умеют имперсонацию,то есть действия от имени другого пользователя,и очень большой вопрос-чей токен идет для имперсонации. |
|||
14
Cyberhawk
13.08.19
✎
09:44
|
Еще косвенно зависит от способа активации СОМ-компоненты (внутрипроцессная или внепроцессная).
|
|||
15
Garry1010
13.08.19
✎
09:53
|
(12) Хммм... Почему-то LOCAL SERVICE.:(
|
|||
16
ДенисЧ
13.08.19
✎
09:59
|
(15) О чём тебе твердили ещё с утки назад
|
|||
17
Garry1010
13.08.19
✎
10:04
|
А этот LOCAL SERVICE разве не имеет доступ сразу ко всему и вся? Это же, вроде, круть какая встроенная!?
|
|||
18
Cyberhawk
13.08.19
✎
10:07
|
(17) Путаешь с локал систем походу
|
|||
19
ДенисЧ
13.08.19
✎
10:14
|
(17) Он на сеть не имеет правов
|
|||
20
Garry1010
13.08.19
✎
10:16
|
На сеть - это я понимаю. Но с локальным диском почему сбои были... Странно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |