2012-05-02 92 views
0

我有一個問題,我無法在這裏或在Jackrabbit文檔中找到答案,希望你們中的任何人都可以提供幫助。Jackrabbit AccessControll

我做了以下內容:

  • 管理員創建 「SomeUser的」
  • 管理員創建上面的節點: /模板/ templateall [ JCR:UUID:a9b629a4-d1dd-4ba3-a602- 629e4ca1a7fd JCR:mixinTypes:搭配:可引用的,代表:AccessControllable, 標籤:templateall JCR:primaryType:NT:非結構化 /模板/ templateall/REP:政策[ JCR:primaryType:代表:ACL /模板/ templateall/REP:政策/允許[ 代表:特權:JCR:所有, 代表:生成PrincipalName:SomeUser的 JCR:primaryType:代表:GrantACE

  • SomeUser的嘗試刪除/模板/ templateall與節點/模板/ templateall:上保存()

javax.jcr.AccessDeniedException以下異常不允許在org.apache.jackrabbit.core.ItemSaveOperation.validateTransientItems刪除項目 (ItemSaveOperation.java:704) at org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperati on.java:216) 在org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) 在org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91) 在org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329) 在org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSaveOperation.java:64) 在org.apache.jackrabbit.core。 session.SessionState.perform(SessionState.java:216) 在org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:361) 在org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java: 812)

  • 之後,我嘗試刪除/模板s/templateall與管理員用戶,刪除成功完成。
  • 然後我嘗試做相同的,但我給用戶「SomeUser的」 JCR:所有訪問節點/模板,而不是/模板/ templateall,然後「someUser」所能夠刪除/模板/ templateall成功

所以我的第一個結構示例的結論是:「someuser」可以刪除節點/ templates/templateall的任何子節點,但不是節點本身,需要提供jcr:removeChildNodes acess no/templates才能做到這一點。

我的結論是否正確?

謝謝!

回答

0

我想是的。我不知道所有關於兔崽子安全細節,但:

去除兔崽子一個節點修改的父節點,因爲每個節點包含子節點ID列表。