Контроль доступа
Контроль доступа - механизм управления доступом автомобилей на парковку, реализованный в виде редактируемого последовательного списка правил. Правила состоят из установленного набора критериев, на основании которых разрешается (или запрещается) доступ.
Список критериев:
- Идентификатор - идентификатор пропуска
- Гос номер - гос номер автомобиля
- Стойка - идентификатор стойки, через которую проезжает автомобиль
- Действителен до - время, до которого действует правило
В момент попытки проезда через стойку происходит поочередное(сверху-вниз) сравнивание с критериями каждого правила в списке.
Если сложившиеся на момент проезда условия удовлетворяют КАЖДОМУ критерию* очередного правила, то выносится вердикт на разрешение(или запрет) проезда. Нижележащие правила игнорируются.
Если ни одного подходящего правила в списке не оказалось, то вердикт выносится на основании "политики по умолчанию".
*Отсутствие критерия в правиле(пустое поле) указывает на любое его возможное значение, то есть удовлетворяет любым сложившимся условиям проезда.
Настройка политики по-умолчанию
Настройка политики по умолчанию производится в конфигурационном файле программы /park/etc/park/config.xml
Пример части конфигурационного файла
... <acl endpoint_acl_policy="deny"/> (по умолчанию проезд запрещен) ... ... <acl endpoint_acl_policy="accept"/> (по умолчанию проезд разрешен) ...
Редактирование данных
Редактирование текущего списка правил происходит в меню Доступ управляющего ПО.
Доступны операции удаления, редактирования и смены очередности в списке для каждого правила.
По нажатию кнопки "Добавить запись" возможно добавление нового правила в конец списка.
В форме добавления правила устанавливаются его критерии и вердикт.
Вердикт устанавливается в обязательном порядке, критерии правила могут быть проигнорированы.
Отсутствие критерия в правиле указывает на любое его возможное значение, то есть удовлетворяет любым сложившимся условиям проезда.
Импорт данных
По нажатию кнопки "Импорт" возможен импорт новых правил доступа из XML файла. В форме импорта устанавливается "Тип загрузки" и выбирается сам файл. Тип загрузки может принимать значения:
- Перезапись (Текущий список правил доступа удаляется, на его место записываются правила из файла)
- Добавление в начало (Происходит добавление правил доступа из файла в начало текущего списка правил)
- Добавление в конец (Происходит добавление правил доступа из файла в конец текущего списка правил)
Пример файла импорта:
<xml version="1.0" encoding="utf-8"?> <root> <item pass_id="65749734" lp_number="а564мр77" endpoint_id="15" end_time="1430784000" verdict="deny"/> <item pass_id="78878885" lp_number="р776лр177" end_time="1430785000" verdict="accept"/> <item end_time="1430789000" verdict="deny"/> </root>
Параметры....
- /root/item/@pass_id - строка - идентификатор пропуска
- /root/item/@lp_number - строка - гос номер автомобиля
- /root/item/@endpoint_id - строка - идентификатор стойки
- /root/item/@end_time - число - время, до которого действует правило
- /root/item/@verdict - символ t / accept (разрешить) или f / deny (запретить) - вердикт
Если параметр не указан, то в импортированном правиле доступа поле, соответствующее этому параметру, будет пустым (отсутствие критерия).