2012-05-02 9 views
0

私はここで、またはJackrabbitのドキュメントで答えを見つけることができないという問題を抱えています。Jackrabbit AccessControll

私は次のことをやっている:

  • 管理上のノード作成
  • admin "をsomeuser" を作成: /テンプレート/ templateall [ JCR:UUID:a9b629a4-d1dd-4ba3-a602-を629e4ca1a7fd JCR:mixinTypes:ミックス:参照可能、担当者:AccessControllable、 ラベル:templateall JCR:primaryType:NT:非構造化 /テンプレート/ templateall /担当:ポリシー[ JCR:primaryType:担当者:ACL /テンプレート/ templateall /担当:ポリシー/許可[ 担当者:特権:JCR:すべて、 担当者:のPrincipalName:someuser JCR:primaryType:担当者:GrantACE

  • someuserで削除しようとする/テンプレート/ templateallノード保存上の次の例外()

javax.jcr.AccessDeniedException:/テンプレート/ templateall:org.apache.jackrabbit.core.ItemSaveOperation.validateTransientItems(ItemSaveOperation.java:704)でアイテム を削除することはできませんサブタイプ: on.java:216) at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329) at org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSaveOperation.java:64) at org.apache.jackrabbit.core。 session.SessionState.perform(SessionState.java:216) at org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361) at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java: 812)

  • その後、私は削除しようとする/テンプレートs/templateallがadminユーザーであり、削除が正常に完了しました。
  • その後、私は同じことをしようが、私は、ユーザー「someuser」JCRを与える:代わりに/テンプレート/ templateallのノード/テンプレートへのすべてのアクセスは、「someuserは」/テンプレート/ templateall成功し
を削除することができます

最初の構造例の私の結論は次のとおりです。 "someuser"はnode/templates/templateallの子を削除できますが、ノード自体は削除できません。jcr:removeChildNodes acess no/templatesを提供する必要があります。

私の結論は正しいですか?

ありがとうございます!

答えて

0

はいと思います。私はJackrabbitのセキュリティに関するすべての詳細を知りませんが、

Jackrabbitでノードを削除すると、各ノードに子ノードIDのリストが含まれるため、親ノードが変更されます。

関連する問題