簡體   English   中英

如何使用Java刪除ldap節點並刪除其下的所有子樹節點?

[英]How can I delete ldap node and delete all the subtree node under it using Java?

在此處輸入圖片說明

例如,我想刪除其中的groupcode=SG節點和2 groupcode=SG節點,但得到javax.naming.ContextNotEmptyException

這是我的代碼:

    public boolean delete(String dn, DirContext context) {
    if ((dn == null || dn.isEmpty()) 
            || context == null) {
        LOG.error("#delete(?, ?): Some parameters is null or empty!");
        return false;
    }

    try {
        context.destroySubcontext(dn);
        return true;
    } catch (NamingException e) {
        LOG.error("#delete(?, ?): Error when trying to delete!", e);
        return false;
    }
}

我該怎么做? 謝謝您幫忙。

如果您的LDAP服務器支持Tree Delete控件,並且您可以找到它的Java實現,那么您已經完成了:只需在執行刪除操作之前將上下文的請求控件設置為包含該控件的實例即可。 這不是常見的操作,例如OpenLDAP不支持它。

否則,您將必須列出每個子上下文並遞歸刪除葉子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM