lualdap設定unicodePwd不成功

來源:互聯網
上載者:User

從網上搜到lualdap,狂喜,試之,串連,查詢,新增User,OU,修改屬性都OK,唯獨修改不了密碼unicodePwd. 重祭google大法, 結果沒讓人暈過去, 網上討論這個問題一大把, 看來問題嚴重. 細看, 發現涉及認證, TLS/SSL, ASN.1 BER等, 怒了, 修改一個破密碼這個多破事. 一一按要求辦了, 還是報DSID-031A0FC0錯誤, 服了.

看來還得從頭來過, 開始準備重新編譯lualdap, 從API一步一步來, 看行不行.

下載個lualdap源碼, 寫個bkl檔案, 編譯一下, 成功. 下一步說得慢慢啃API了.

還是三劍客, bkl, bkgen, bat

lualdap.bkl

<?xml version="1.0"?><makefile><include file="presets$(DIRSEP)simple.bkl"/><option name="WXLUA_DIR" category="path"/><!-- option path --><option name="LUA_DIR" category="path"/><!-- path --><set var="ROOT_DIR">..</set><set-srcdir>$(ROOT_DIR)$(DIRSEP)src</set-srcdir><set var="OUTPUT_PROFIX"><if cond="FORMAT=='mingw'">gcc_dll</if></set><set var="BUILDDIR">$(ROOT_DIR)$(DIRSEP)lib$(DIRSEP)$(OUTPUT_PROFIX)</set><set var="BINDIR">$(ROOT_DIR)</set><dll id="lualdap" template="simple"><define>WINLDAP</define><!-- include --><include>"$(LUA_DIR)$(DIRSEP)src"</include><sources>$(fileList('*.cpp'))</sources><sources>$(fileList('*.c'))</sources><ldflags>-Wl,--enable-auto-import $(SRCDIR)$(DIRSEP)lualdap.def</ldflags><sys-lib>lua5.1</sys-lib><sys-lib>wldap32</sys-lib><dirname>$(BUILDDIR)</dirname><lib-path>$(WXLUA_DIR)\lib\gcc_dll</lib-path><dllname>lualdap</dllname></dll></makefile>


lualdap.bkgen

<?xml version="1.0" ?><!-- $Id: lualdap.bkgen, v1.0 2010/11/1 14:12:03 $ --><bakefile-gen xmlns="http://www.bakefile.org/schema/bakefile-gen"><input>lualdap.bkl</input><add-formats>mingw</add-formats><add-flags formats="mingw">-o$(INPUT_FILE_DIR)/makefile.gcc</add-flags>  <add-flags>-DWINLDAP -DBUILD=release</add-flags><add-flags>-DLUA_DIR=$(envvar("lua"))</add-flags></bakefile-gen>

bakeit.bat

clsbakefile_gen --desc=lualdap.bkgen mingw32-make -f makefile.gcc cleanmingw32-make -f makefile.gcc COMSPEC=%comspec% WXLUA_DIR="%wxlua%" LUA_DIR="%lua%" allcopy ..\lib\gcc_dll\lualdap.dll ..\test

找到了幾篇討論這個問題的文章,

第一篇詳細描述了如何產生符合要求的unicodePwd(和MSDN上描述的相差太多,MSDN居然忽悠人). 

1.http://technet.microsoft.com/en-us/magazine/ff848710.aspx

第二篇詳細描述了如何使用ldifde工具匯入帶有unicodePwd的ldf檔案.

2.http://www.winserverkb.com/Uwe/Forum.aspx/windows-server-ad/20168/LDIFDE-Error-when-trying-to-change-passwords

第三篇有點綜合前兩篇

3.http://www.nonhostile.com/howto-format-unicodepwd-ldif-active-directory.asp

需要注意的是ldifde命令帶-h參數, unicodePwd在ldf檔案中後面是帶::,注意不是單個冒號

c:\csv:lidfde -i -h -f changpass.ldif -j c:\csvHere is the content of my ldif filedn: CN=testuser,OU=testOU,DC=domain,DC=localchangetype: modifyreplace: unicodePwdunicodePwd::IgBwAGEAcwBzAHcAbwByAGQAIgA=-

4.http://msdn.microsoft.com/en-us/library/aa366105(v=vs.85).aspx

5.http://msdn.microsoft.com/en-us/library/Aa367033

非常奇怪,使用ldifde能夠順利的修改unicodePwd,僅僅是加了個-h參數(啟用SASL層加密),用depends查看ldifde.exe發現其並沒有匯入SASL和SSL之類的函數。僅僅是一些init,connect和bind的函數。為什麼內建的工具能夠如此簡單的使用unicodePwd(好像使用ADSI也很簡單就能修改),而使用ldap卻有那麼多的限制。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.