1

アプリケーションユーザーの MarkLogic で set-session-field() 関数の権限を設定するにはどうすればよいですか? MarkLogic のドキュメントでこの情報を見つけることができないようで、現在、この関数を使用しようとすると次のエラーが発生します。

SEC-PRIV: xdmp:set-session-field(" myfield ", " myvalue ") -- 権限が必要: http://marklogic.com/xdmp/privileges/xdmp-set-session-field in /my_xquery_file.xqy, at 48:6 [1.0ml]

どうも

ps この情報を入手しました。OK、この情報が必要な人のために、MarkLogic のドキュメント「セキュリティ ガイドの理解と使用」(28 ページ)で見つけました。ブラウザで MarkLogic 管理パネルを開きます。[構成] -> [セキュリティ] -> [実行権限] に移動します。下にスクロールして、付与する機能/権限を見つけ、特定の機能/権限をクリックします。次の画面で、xquery スクリプトで関数を実行する場合は、app-user を確認します。アプリがユーザー セッションにデータを保存できるようになりました (set-session-field 権限)。

4

2 に答える 2

1

はい、あなたが自分自身に与える答えは正しいです。

このマニュアルの PDF コピーへのリンクは、http ://community.marklogic.com/docs (直接リンク: http://community.marklogic.com/pubs/5.0/books/security.pdf ) にあります。検索可能なドキュメント サイトも注目に値します。http://docs.marklogic.com/5.0doc/docapp.xqy (実行権限セクションへの直接リンク: http://docs.marklogic.com/5.0doc/docapp.xqy#display . xqy?fname=http://pubs/5.0doc/xml/security/execute.xml )。

ただし、MarkLogic のセキュリティ モデルは役割ベースであることに注意してください。ロールに実行権限を割り当てます。認証に使用するユーザーには、このロールが必要です。したがって、ユーザーが app-user ロールを持っている場合、上記は正しいです。

チッ!

于 2012-04-03T05:52:31.017 に答える
1

ロールを持つすべてのユーザーにセッション フィールドを作成する機能を与えるのではなく、app-user特定の種類のセッション フィールドを作成するライブラリ関数を作成し (おそらく特定のユーザー向け)、その機能をセッション フィールドを作成できるロールに拡張することも検討してください。Amps を使用すると、特定の関数呼び出しに対して一時的に権限を昇格させることができます。これにより、ユーザーはアプリケーションのコンテキストで特権的な操作を行うことができ、どのコンテキストでも同じタスクを実行するための包括的な特権をユーザーに付与する必要がなくなります。アンプの詳細については、上記のセキュリティ ガイドの理解と使用のセクション 5.2 を参照してください。

于 2012-04-03T23:03:47.357 に答える