2017-05-18 10 views
0

私はBaseXで、単純なXSLT変換を実行しようとしてい:なぜ単純な変換に「作成」権限が必要ですか?

xquery version "3.0"; 
declare namespace xslt="http://basex.org/modules/xslt"; 

xslt:transform-text(<root></root>, 
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" /> 
    <xsl:template match="/">123</xsl:template> 
    </xsl:stylesheet> 
) 

管理者としてスクリプトを実行するときにこれは、動作します。

しかし、私は唯一の権限を「読み取り」持っているユーザーで、このスクリプトを実行するときには、なぜ、私はエラー

Stopped at ., 4/20: 
[bxerr:BASX0001] create permission required. 

を取得しますか?私はデータベースに何も保存したくありません。

答えて

1

XSLT変換は非常に強力です。たとえば、 fn:docを使用して新しいリソースを要求したり、独自の拡張機能を使用する場合はさらに多くのことを行います。これが、この機能が作成権限を持つユーザーに制限された理由です。それをADMINユーザーに制限することは、おそらくもっと一貫しています。

+0

です。私は、読み取り専用の公開REST APIを持っています。グローバルな権限を変更することなく、このAPIを使用して、ユーザーが簡単で危険な変換をこのAPI経由で行うことができますか? – Seb3736

+0

おそらく、REST APIの管理者権限をユーザーに与えることはできますが、GETリクエスト以外はすべてJettyでブロックします。 – Seb3736

+1

これはオプションになります。もう1つは、デフォルトでADMINパーミッションを持つRESTXQでコードを記述し、XQueryで必要なすべてのことを行うことです。 –

関連する問題