2011-06-30 48 views
2

OpenDS通過其管理帳戶實用程序提供了許多必要帳戶功能的命令行訪問權限。例如,禁用一個帳號:訪問OpenDS中的管理帳戶命令

manage-account set-account-is-disabled --operationValue true 
--baseDN uid=someuser,ou=People,dc=example,dc=com" --hostname hostname --port 389 
--bindDN "cn=Directory Manager" --bindPassword password 

這是罰款和花花公子是你有一個系統管理員來管理您的LDAP服務器,但在這樣一個場景,你有用戶1000個世界各地的這成爲了問題(想象當系統管理員在美國睡覺時,用戶被鎖定在日本的帳戶中)。我們希望能夠以編程方式與這些管理帳戶功能相關聯,以便我們可以爲本地管理員/管理員提供管理他們自己的用戶的能力。

任何人都可以提供任何見解,如果這是可能的,如果是的話如何?我們用C#編寫這個代碼,我找不到任何例子。看看.NET API文檔,我認爲System.DirectoryServices.Protocols.ExtendedRequest看起來很有前途,但無法弄清楚如何使用它。

任何幫助將不勝感激,謝謝!

+0

庵幫助???沒有人? Bueller? Bueller? – snappymcsnap

回答

1

Manage-Account工具使用LDAP擴展操作,該操作的代碼位於opends/src/server/org/opends/server/extensions/PasswordPolicyStateExtendedOperation.java中。

或者,您可以檢查OpenDJ LDAP SDK,它支持擴展操作,並且可以讓您快速編寫客戶端應用程序。 OpenDJ LDAP SDK記錄在http://opendj.forgerock.org/opendj-ldap-sdk/(文檔位於開發人員指南中:http://opendj.forgerock.org/doc/dev-guide/OpenDJ-Dev-Guide.html)。

問候,

朱利

+0

感謝提示Ludo,我希望它不會那麼複雜,我不需要通過所有的源代碼來挖掘我需要的東西,但似乎可能沒有其他辦法。我檢查了您爲OpenDJ開發人員指南發佈的鏈接,但不幸的是,有關擴展操作的章節仍標記爲「待辦事項」:( – snappymcsnap

+0

對不起,文檔正在進行中。一個警告,管理帳戶默認工作用SSL保護的管理端口(4444)如果你編寫自己的工具,你可以根據你的喜好運行常規的LDAP連接或LDAPS。 –

0

管理帳戶的源代碼可用,可以從那裏重新創建編碼。另外,可以設置目錄服務器,運行管理帳戶,記錄工具從訪問日誌中獲取的步驟,然後編寫代碼以重新創建這些步驟。