Индикатор «Шлюз НРД», проверка ключа ИШ, папки шлюза по сети, сотрудники из домена, переключатель 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:
@@ -93,6 +93,11 @@ func adBindService(conn *ldap.Conn, a AuthSettings) error {
|
||||
// errADNotFound или errADDisabled; roleErr — nil или *adNoGroupError.
|
||||
// dropSessions — доступ снят, сессии нужно завершить.
|
||||
func adApplyRecheck(u *User, res *adResult, lookupErr, roleErr error) (changed, dropSessions bool, msg string) {
|
||||
var noGroup *adNoGroupError
|
||||
if lookupErr == nil && errors.As(roleErr, &noGroup) && u.BJRole != "" && roleAvailable(u.BJRole) {
|
||||
// групп с ролью у сотрудника нет, но роль назначена в bj — она и действует
|
||||
roleErr, res = nil, &adResult{Role: u.BJRole, MatchedBy: "роль, назначенная в bj", Groups: groupsOf(res)}
|
||||
}
|
||||
if lookupErr != nil || roleErr != nil {
|
||||
reason := "нет в сопоставленных группах"
|
||||
if lookupErr != nil {
|
||||
@@ -225,3 +230,10 @@ func (h *setupHandlers) recheckAD(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
h.usersFlash(w, r, fmt.Sprintf("AD: перепроверено пользователей %d, изменений %d.", st.Checked, st.Changed))
|
||||
}
|
||||
|
||||
func groupsOf(res *adResult) []string {
|
||||
if res == nil {
|
||||
return nil
|
||||
}
|
||||
return res.Groups
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user