2012-04-02 19 views
1

アプリケーションユーザのMarkLogicでset-session-field()関数の特権を設定するにはどうすればよいですか? "、を設定し、セッション・フィールド(「myFieldで」:私はMarkLogicのドキュメントでこの情報を見つけることができないよう、私は、この機能を使用しようとすると、私は現在、次のエラーを取得する:MarkLogic特権設定

SEC-PRIV:xdmpをmyvalue「) - ニード権限:/my_xquery_file.xqyでhttp://marklogic.com/xdmp/privileges/xdmp-set-session-field 、48時:6 [1.0-mlの]

THX

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

+0

質問で尋ねられ、答えられました。 –

答えて

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ロールを持っている場合は、上記が正しいことになります。

HTH!ロールに機能し

+0

だから私は、私のアプリケーションにログインするすべての人が今、app-userの役割を持っていることを確認する必要があると思います。ありがとう。 – kalinma

1

よりもむしろapp-user役割を持つすべてのユーザーがセッションフィールドを作成する能力を与えて、あなたも(おそらく特定のユーザーのための)セッションフィールドの特定の種類を作成し、ライブラリ関数の作成を検討可能性があり、アンペアセッションフィールドを作成することができます。 Ampsを使用すると、特定の関数呼び出しに対して一時的に権限を昇格させることができます。それらは、ユーザーが任意のコンテキストで同じタスクを実行するためにそのユーザーにブランケット特権を与えなくても、アプリケーションのコンテキストで特権を行うことができます。上記で参照されたUnderstanding and Using Security Guideのセクション5.2のアンプについて詳しく読むことができます。

関連する問題