Мне, вероятно, здесь не хватает чего-то простого в синтаксисе фильтра LDAP, я пытаюсь запросить базу данных, созданную наложением accesslog
в OpenLDAP, с помощью reqStart
атрибут. Я могу фильтровать по равенству, но не могу фильтровать по диапазону или частичному значению. Цель состоит в том, чтобы найти все записи журнала доступа после определенной даты / времени.
При значении reqStart: 20180213144256.000008Z
фильтр (reqStart = 20180213144256.000008Z)
работает, но не работает следующее:
(reqStart> = 20180213000000)
(reqStart = 20180213 *)
Я спросил слишком рано; Я нашел свой ответ, вернувшись к страницам руководства ( man slapo-accesslog
) и перечитав.
reqStart
использует синтаксис generalizedTime
, который после быстрого просмотра на ldapwiki.com показано, что мне нужно было добавить часовой пояс для сравнения с > =
. Это фильтры, которые действительно работают:
(reqStart> = 20180213000000Z)
(reqStart> = 20180213000000-0600)
Минимальные требования для этого синтаксиса: век, год, месяц, день, часовой пояс, часовой пояс
, поэтому следующий минимум будет работать:
(reqStart> = 2018021300Z)
Или для смещения -06: 00 для моего часового пояса:
(reqStart> = 2018021300-0600)
Подробнее по синтаксису по ссылке, размещенной выше.