Вероятно, мне не хватает чего-то простого в синтаксисе фильтра 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)
Минимальные требования для этого синтаксиса: century year month day hour timezone
, поэтому следующий минимум будет работать:
(reqStart>=2018021300Z)
Или для смещения -06: 00 для моего часового пояса:
(reqStart>=2018021300-0600)
Подробнее о синтаксисе по ссылке, размещенной выше.