Имя: Пароль:
1C
1С v8
Windows-авторизация при подключении через COM
,
0 mgurenkovkpmg
 
12.07.17
11:13
Доброе утро!

У нас есть программа, которая подключается к 1С через COM.

В ней есть такая строка для подключения.

agent = comConnection.ConnectAgent(agentUrl);
agent.Authenticate(cluster, adminLogin, password);

Сейчас для авторизации нужно использовать имя и пароль администратора кластера. Но по стандартам компании, желательно везде использовать Windows-авторизацию. В остальных случаях (создание/восстановление информационных баз мы производим через пакетный вызов 1cv8.exe, и там Windows-авторизация срабатывает).

Вопрос: можно ли использовать Windows-авторизацию при работе через COM? Если можно, как это правильно реализовать?
1 Fish
 
12.07.17
11:22
Ответ: 1. Можно. 2.Почитать, например, в СП о параметрах Authenticate.
2 Господин ПЖ
 
12.07.17
11:22
убери одмина кластера
3 1dvd
 
12.07.17
11:25
(2) мокруха?

(0) программа из которой идёт подключение должна быть запущена от имени этой самой учётной записи
4 mgurenkovkpmg
 
12.07.17
11:29
> Почитать, например, в СП о параметрах Authenticate

Подскажите, а где это почитать? 1С для нас не профильное направление, мы еще не все полезные материалы знаем.

> убери одмина кластера

А как тогда нужно поменять код? Убрать метод agent.Authenticate? Или передавать в него какие-то специальные значения?
5 Fish
 
12.07.17
11:32
(4) "Подскажите, а где это почитать?" - В СП. СП - это синтакс-помощник, найти его можно, открыв конфигуратор. Даже процитирую:
Соединение с агентом сервера (IServerAgentConnection)
Authenticate (Authenticate)
Синтаксис:

Authenticate(<Кластер>, <Имя>, <Пароль>)
Параметры:

<Кластер> (обязательный)

Тип: Кластер серверов.
Кластер серверов. Может быть получен при помощи методов GetServerWorkingProcesses или CreateWorkingProcessInfo.
<Имя> (обязательный)

Тип: Строка.
Имя администратора кластера серверов.
Пустая строка означает, что необходимо выполнить аутентификацию администратора по умолчанию (если в кластере не зарегистрирован ни один администратор) или аутентификацию пользователем операционной системы (если администратору кластера разрешена аутентификация пользователем операционной системы).
<Пароль> (обязательный)

Тип: Строка.
Пароль пользователя для аутентификации пользователя паролем. Пользователь будет аутентифицирован, если совпадает его имя и пароль, и пользователю разрешена аутентификация паролем.
Описание:

Выполняет аутентификацию администратора кластера серверов.

Доступность:

Интеграция.
6 Господин ПЖ
 
12.07.17
11:34
а если домен грохнется - кластеру кизда?
7 Serginio1
 
12.07.17
11:35
или аутентификацию пользователем операционной системы (если администратору кластера разрешена аутентификация пользователем операционной системы).
8 mgurenkovkpmg
 
12.07.17
11:36
Ребята, спасибо! Вектор копания понятен!

> а если домен грохнется - кластеру кизда?
В нашем случае быстрее кластер грохнется :)
9 Serginio1
 
12.07.17
11:40
https://its.1c.ru/db/metod8dev#content:5816:hdoc\

Для администратора поставить
аутентификация пользователем операционной системы
10 Serginio1
 
12.07.17
11:45
11 mgurenkovkpmg
 
12.07.17
12:11
Ребята! Спасибо!

Получилось удалить админа кластера и вызывать agent.Authenticate(cluster, "", "");
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс