773fa8e0bf
- Шапка мастера: правый блок (шлюз НРД, пользователь, тема) снова справа — после правила [hidden] скрытое меню перестало его распирать. - Домен в шаге «Учётные записи»: bj сам находит домен и контроллеры (логин с @домен, домены поиска DNS, rootDSE DNS-серверов, SRV _ldap._tcp.dc._msdcs); адрес и домен — в расширенных настройках, открываются сами, если не нашлось. Контроллеры по очереди, LDAPS → LDAP+StartTLS. - Неудачная попытка ничего не теряет: введённое (и пароль) — черновиком, форма заполнена; причины словами (неизвестный ЦС, имя в сертификате, IP вместо имени, порт закрыт, нет в DNS). - Сертификат неизвестного центра: карточка «кем выдан, отпечаток (SHA-1 как в Windows и SHA-256)» и «Доверять и подключить»; после входа bj берёт из домена сертификат центра (AIA / Certification Authorities), подписавший сертификат контроллера, — подходят все контроллеры. То же в Настройка → Пользователи при «Проверить». - Лицензия: модуль onec-middle «1С: база мидл-офиса (тест)»; раздел настроек — адрес публикации, пользователь, пароль, проверка через OData $metadata; в мастере — в «Модулях». - ЛК (callback, API, готовность) — только при модуле «ЕСИА Финанс»; карточка режима QUIK и стили настроек как в мастере. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
45 lines
1.2 KiB
Go
45 lines
1.2 KiB
Go
package lkgateway
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
// BJ_AD_LIVE=1 go test -run TestADDiscoverLive — поиск домена в настоящей сети (только DNS и rootDSE, без паролей).
|
|
func TestADDiscoverLive(t *testing.T) {
|
|
if os.Getenv("BJ_AD_LIVE") == "" {
|
|
t.Skip("BJ_AD_LIVE не задан")
|
|
}
|
|
f := adDiscover(context.Background(), "")
|
|
if f == nil {
|
|
t.Fatal("домен не найден")
|
|
}
|
|
t.Logf("домен %s (%s), контроллеры %v", f.Domain, f.From, f.DCs)
|
|
}
|
|
|
|
func TestADCertLive(t *testing.T) {
|
|
if os.Getenv("BJ_AD_LIVE") == "" {
|
|
t.Skip("BJ_AD_LIVE не задан")
|
|
}
|
|
for _, dc := range []string{"dc1.corp.fontvielle.ru", "dc2.corp.fontvielle.ru"} {
|
|
a := AuthSettings{ADServer: "ldaps://" + dc, ADDomain: "corp.fontvielle.ru"}
|
|
_, err := adProbe(a)
|
|
c, ferr := adFetchCert(a)
|
|
if c != nil {
|
|
t.Logf("%s: probe=%v; cert %q от %q до %s CA=%v", dc, err, c.Subject, c.Issuer, c.Until, c.IsCA)
|
|
} else {
|
|
t.Logf("%s: probe=%v fetch=%v", dc, err, ferr)
|
|
}
|
|
if err != nil {
|
|
t.Logf(" объяснение: %s", adExplain(err, a, c))
|
|
}
|
|
if c != nil {
|
|
b := a
|
|
b.ADCAPEM = c.PEM
|
|
_, err2 := adProbe(b)
|
|
t.Logf(" после «Доверять»: probe=%v", err2)
|
|
}
|
|
}
|
|
}
|