Индикатор «Шлюз НРД», проверка ключа ИШ, папки шлюза по сети, сотрудники из домена, переключатель QUIK в настройках

- журнал ИШ: номер процесса выравнивается пробелами — опросы НРД не распознавались (серый индикатор)
- «Проверить СКЗИ и ключ»: Валидата, датчик случайных чисел, подпись профилем ИШ (а не старый bj-crypto);
  индикатор «Криптографии» — по готовности ключа; карточка автозагрузки УЦ — только для разработки
- шаг «Шлюз НРД»: папки обмена по сети (Samba): логин/пароль, ручная настройка не трогается
- «Учётные записи»: необязательно — подключить домен, проверить связь, найти сотрудника и добавить с ролью;
  роль из bj действует, пока группы домена с ролями не сопоставлены
- настройка QUIK МНП: «Только чтение / Чтение и запись», тонкая настройка цикла свёрнута
- индикатор «Обновления» — только когда есть что обновить; «Мастер настройки» в меню и в настройках

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-07 00:24:19 +03:00
parent 6a48f7e7a4
commit afc5776347
17 changed files with 421 additions and 55 deletions
+13
View File
@@ -206,3 +206,16 @@ func TestDeferForInstaller(t *testing.T) {
t.Fatalf("без нового установщика: оставлено %d, отложено %v", len(kept), deferred)
}
}
// Роль, назначенная в bj доменному сотруднику (мастер, «Добавить из домена»), действует, когда группы домена
// с ролями не сопоставлены; без неё — доступ снимается, как раньше.
func TestADRecheckBJRole(t *testing.T) {
u := &User{Login: "ivanov", Source: "ad", Role: "operator", BJRole: "operator", Active: true}
if changed, drop, _ := adApplyRecheck(u, &adResult{}, nil, &adNoGroupError{sam: "ivanov"}); drop || u.Role != "operator" || changed {
t.Fatalf("роль из bj должна остаться: changed=%v drop=%v role=%q", changed, drop, u.Role)
}
v := &User{Login: "petrov", Source: "ad", Role: "operator", Active: true}
if _, drop, _ := adApplyRecheck(v, &adResult{}, nil, &adNoGroupError{sam: "petrov"}); !drop || v.Role != "" {
t.Fatalf("без роли из bj доступ снимается: drop=%v role=%q", drop, v.Role)
}
}