Система разграничения доступа

Права доступа представляют собой совокупность правил, регламентирующих порядок и условия доступа пользователя в кассовой программе. Права доступа для пользователей определяются внутренним регламентом торговой сети.

Система разграничения прав доступа в кассовом ПО Artix предусматривает:

  • идентификацию и опознание пользователей, привязанных к ним ролей и прав,
  • регистрацию действий пользователя,
  • возможность включения и исключения новых пользователей и действий из процесса работы,
  • реакцию программы на несанкционированное выполнение операций и запрос на их подтверждение другим пользователем.

Проверка прав доступа к функционалу программы выполняется в процессе авторизации в кассовом ПО Artix на основании указанных при входе логина и пароля пользователя или положения клавиатурного ключа.

Возможность выполнения операции определяется контекстом документа, указанным при задании клавиш в утилите администрирования Yuki. Более подробно о задании клавиш можно прочитать в разделе "Настройка действий".

Пароль пользователя

Уровень сложности пароля определяется правилами, действующими в торговой сети. Использование сложных паролей позволяет снизить риск несанкционированного доступа к данным. Один из способов усложнения пароля – задание минимальной длины пароля. Ограничение на минимальное количество символов пароля пользователя задается параметром minPasswordLength в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Security.Restrictions].

Проверка минимально допустимой длины пароля не осуществляется при проверке прав по положению клавиатурного ключа.

НаименованиеТип данныхОписаниеПримечания
minPasswordLengthчисловойУстановка минимально допустимой длины пароля пользователяПо умолчанию 0 (длина пароля не ограничена)
Пример настройки
[Security.Restrictions]
; Параметры относящиеся к безопасности
...
; Минимальная допустимая длина пароля. Если 0 - то длина пароля программой не ограничена
; По умолчанию 0
; minPasswordLength = 0

Проверка и подтверждение прав

Результатом активности пользователя, который авторизовался в кассовой программе, являются действия. Действия представляют собой команду с определенными параметрами. Механизм проверки прав построен на анализе возможности выполнения команд пользователями. При получении команды на выполнение какого-либо действия программой в первую очередь проверяется возможность совершения данного действия в открытом документе. Если информация о типе документа отсутствует, то проверяется возможность выполнения действия для любого типа документа. После получения разрешения на совершение действия в текущем документе и перед обработкой действия осуществляется проверка прав на выполнение действия текущим пользователем. 

Если текущий пользователь не имеет прав на выполнение действия, то в зависимости от настроек, возможен один из вариантов развития событий:

  • Программа запрашивает ввод регистрационных данных другого пользователя. 
  • Программа определяет права доступа по положению клавиатурного ключа. Подробнее об использовании клавиатурного ключа можно прочитать в разделе "Клавиатурный ключ". 

По введенному паролю или положению клавиатурного ключа программа идентифицирует пользователя и проверяет его права на выполнение действия. Если пользователь имеет соответствующий уровень доступа, то операция выполняется. При отсутствии прав у подтверждающего пользователя на экран кассира выводится предупреждение "Недостаточно прав на подтверждение операции". 

В свойствах пользователей, используемых для подтверждения операций, должен быть указан признак "Только для подтверждения".

Задание механизма проверки прав осуществляется в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Security.Restrictions].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
authenticateByKeyboardKeyлогический
  • true
  • false
Включение режима подтверждения прав по положению клавиатурного ключаПо умолчанию запрос прав выполняется по паролю
Пример настроек
[Security.Restrictions]
; Параметры относящиеся к безопасности
...
; Подтверждение прав по положению клавиатурного ключа
authenticateByKeyboardKey = false
  • No labels