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"))
リターン:
あなたをクエリが空のシーケンスを返しました
someOtherUserの最終ログイン値を取得したいと考えています。誰がクラスタを使用していないのかを監視し、クラスタを積極的に使用していない場合は削除します。これを行うにはこれが最善の方法ですか?より良い方法がありますか?これは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データベースで根拠のない検索を 'basic'に変えました。 App-Services appserverには、最後のログインオプションが 'Last-Login' dbに割り当てられています。 – mikel