MarkLogic에서 LDAP 인증 사용자를 관리하려고합니다. 각 사용자의 Last-login 값을 확인할 수 있기를 원합니다. 나는 REST 인터페이스에서 이것을하고 싶다. 그러나 MarkLogic은 관리 사용자의 로그인 활동을 보여주는 문서 만 반환합니다. 이것은 qconsole에서도 마찬가지입니다. 내가 마지막 로그인 콘텐츠 소스를 탐색하면 모든 로그인 문서가 표시되고 내용을 볼 수 있습니다. 나는 xquery와 REST로 문서를 얻을 수 있기를 원한다.LastLogic 로그인 데이터베이스가있는 MarkLogic 사용자 관리
xdmp:user-last-login(xdmp:user("myCurrentUser"))
반환 :
<last-login xmlns="http://marklogic.com/xdmp/last-login">
<user-id>191939440856729280</user-id>
<last-successful-login>2017-03-14T18:16:13Z</last-successful-login>
<last-unsuccessful-login>
</last-unsuccessful-login>
<number-unsuccessful-logins>0</number-unsuccessful-logins>
<display-last-login>true</display-last-login>
</last-login>
내가 (admin입니다) myCurrentUser와 다른 사용자가보고하려고하면, 내가 얻을 :
xdmp:user-last-login(xdmp:user("someOtherUser"))
반환 :
당신의 쿼리가 빈 시퀀스를 반환했습니다.
someWithUser의 마지막 로그인 값을 얻을 수 있기를 바랍니다. 누가 클러스터를 사용하고 있지 않은지 모니터링하고 클러스터를 적극적으로 사용하지 않는 경우 클러스터를 제거하려고합니다. 이 작업을 수행하는 가장 좋은 방법입니까? 더 좋은 방법이 있습니까? 이것은 MarkLogic에서도 가능합니까?
for i in (list of LDAP names)
do
curl -s --anyauth --user myUser:$(cat pass) -X POST -i \
-d "xquery=xquery version \"1.0-ml\";xdmp:user-last-login(xdmp:user(\""$i"\"))" \
-H "Content-type: application/x-www-form-urlencoded" \
"http://$(hostname):8000/v1/eval"
done
MarkLogic 설명서를 다시 읽은 후에는 ** ** 다른 ** 버그처럼 보입니다. https://docs.marklogic.com/xdmp:user-last-login – mikel
실행중인 MarkLogic의 버전은 무엇입니까? –
나는 이것을 8.0-5.4와 8.0-6에서 시도하고있다. 이 두 가지 모두 CentOS 6.8에서 완전히 패치되었습니다. Last-Login 데이터베이스에서 형태소 검색을 '기본'으로 바꿨습니다. App-Services appserver는 마지막 로그인 옵션이'Last-Login' db에 할당되어 있습니다. – mikel