私はここに奇妙な状況があります。私は、httpの要求をMarkLogicサーバーに送信するアプリケーションを構築しようとしています。これは、search:search("")
を実行するXQueryコードにヒットします。空のクエリを検索に渡しているので、デフォルトの関連する結果が返されます。
私は展開のためにRoxyを使用しています。 私は、コマンドによって一般的なロキシー展開関数を呼び出すとき -search:検索は検索コンソールで結果を返しますが、httpによるアプリケーションからのヒットが得られた場合は結果は表示されません。
ml local deploy content.
私はlocalhostを打つとき、それは後に、すべての文書を読み込み、:7040を予想通り、私は結果を得ます。ここまでは順調ですね。
ここでは、Roxyの既存のメソッドdeploy_contentをオーバーライドし、すべてのデータをコンテンツデータベースにロードするためにxdmp:document-load()
を実行するXQuery関数を呼び出す新しいメソッドを定義します。ここにコードスニペットがあります -
私がアプリケーションをヒットしたとき、同じコードがクエリコンソールからうまく機能していましたが、結果が0になりました。私はこれが役割と特権の概念に関係していると思います。なぜなら私はroxyから新しく作成されたユーザーに管理者ロールを提供すると、結果を期待どおりに得るからです。後で自分のアプリケーションを使用するデフォルトのユーザーに管理者ロールを提供したくありません。だから、私の問題を解決する役割、特権、認証という点でどのような変更が必要ですか?
注:私がlocalhost:7040を押すと、認証を要求しません。
ml.app-role:xyz-role
このユーザーの役割ですべての既定のアクセス許可を取得する機能はありますか。
これはバニラインストールであるため、これはアプリサーバーに使用されるユーザーです。
クエリコンソールに使用されるユーザーはadminです。
ロード・ドキュメントの1つにコマンドxdmp:document-get-permissions()
を実行しましたが、空のシーケンスが戻されました。
xdmp:document-get-permissions("/a-ha+Take-on-Me.xml")
。
認証方式=アプリケーションレベル
ml.app-role:xyz-role このユーザーの役割ですべての既定のアクセス許可を取得する機能はありますか。 これはバニラインストールのように、アプリサーバーに使用されるユーザーです。 クエリコンソールに使用されるユーザーはadminです。 ロード・ドキュメントの1つにxdmp:document-get-permissions()コマンドを実行しましたが、空のシーケンスが戻されました。 xdmp:document-get-permissions( "/ a-ha + Take-on-Me.xml")。 authentication-method = application-level – basari66
document-get-permissionsの空のシーケンスを取得した場合、それらを挿入したユーザーは管理ユーザー(少なくとも1つの更新権限なしでドキュメントを挿入できる唯一のユーザー)です。 ..ここでの問題は、xyzユーザーのデフォルトのアクセス権ではありません(いいえの場合、後でそのユーザーがドキュメントを挿入するときに問題になります)。問題は、管理者ユーザーがドキュメントを挿入し、xyzユーザーに読み取り(および更新)権限を与えないことです。 –