ここまたはJackrabbitのドキュメントで答えが見つからないという問題があります。誰かがそれを手伝ってくれることを願っています。
私は次のことをしています:
- admin create "someuser"
管理者は上記のノードを作成します:/ templates / templateall [jcr:uuid:a9b629a4-d1dd-4ba3-a602-629e4ca1a7fd jcr:mixinTypes:mix:referenceable、rep:AccessControllable、label:templateall jcr:primaryType:nt:unstructured / templates / templateall / rep:policy [jcr:primaryType:rep:ACL / templates / templateall / rep:policy / allow [rep:privileges:jcr:all、rep:principalName:someuser jcr:primaryType:rep:GrantACE
someuserは、save()で次の例外を除いて、/ templates/templateallノードを削除しようとします。
javax.jcr.AccessDeniedException:/ templates / templateall:org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation。のorg.apache.jackrabbit.core.ItemSaveOperation.validateTransientItems(ItemSaveOperation.java:704)のアイテムを削除することは許可されていません。 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)org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361)at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:812)
- その後、adminユーザーで/ templates / templateallを削除しようとすると、削除は正常に完了します。
- 次に、同じことを試みますが、ユーザー "someuser" jcr:allに/ templates /templateallではなくノード/templatesへのアクセスを許可すると、"someuser"は/templates/templateallを正常に削除できます。
したがって、最初の構造例での私の結論は次のとおりです。「someuser」はノード/ templates / templateallの子を削除できますが、ノード自体は削除できません。これを実行するには、jcr:removeChildNodes acess no/templatesを提供する必要があります。
私の結論は正しいですか?
ありがとう!!