我們知道LDAP Server中能夠 存儲數據,但我們怎么能夠看到LDAP Server中存儲了哪些內容呢?答案有2個,一個是使用LDAP Brower,另一個是自己寫代碼。我們這篇筆記只介紹怎樣使用LDAP Brower來查看LDAP Server中的內容。
LDAP客戶端有很多種,BEA的文檔中就提到一種,但我感覺不如我推薦的這個的界面順眼,下面向你推薦一個好用的 開源LDAP Brower:JXPlorer,目前版本是3.0。 下載網站: http://pegacat.com/jxplorer/。
我們馬上開始連接WebLogic的內置LDAP Server吧!
一.修改Admin的密碼。
在開始連接之前,我們要修改WebLogic的內置LDAP Server的Admin的密碼。修改方法如下。
1.打開控制臺,點擊控制臺左邊的Security,然后選擇Embedded LDAP(內置LDAP)。
2.修改密碼:修改Credential:的值為:88888888,在ConfiRM Credential:中再輸入一遍。
3.單擊下方的“Apply”按鈕。
我們的Admin的密碼就修改成功了。
二.使用Jxplorer瀏覽LDAP的內容
1. 打開Jxplorer。
啟動Jxplorer的命令是jxplorer.bat,在Jxplorer的目錄中可以找到這個文件。雙擊即可。界面如下。
2. 單擊左上角的第一個按鈕,配置LDAP的連接參數。請按照圖中的參數值配置。
Host:輸入WebLogic Server所在的機器的IP地址或機器名,如果在本機,可以不用更改,默認“localhost”。
Port:不要修改。一般的LDAP的端口是389,但Weblogic的是7001,這可以從BEA的WLS的幫助上找到。這讓我費了很大勁才找到原因。
Protocol:不要改動,LDAP v3是最后的協議版本,也是最高級的版本。
Base DN:dc=XX,XX是你的WLS所在的域的域名,如果你是默認安裝的,那么應該是mydomain。
Security部分的Level:我們選擇User+Password。當然也可以匿名登錄,但你的權限就降低了。
User DN:cn=Admin。WLS的cn(Common Name)的默認的用戶是Admin。
Password:輸入88888888。
單擊OK。
3. 如果你的配置參數沒有錯誤的話,那么你會看到下面的畫面。
4. 單擊右邊的“Table Editor”。你會看到當前對象的所有屬性及屬性值。
至此,你已經成功的連接到了WLS的內置的LDAP上了。
三.修改、添加屬性
看到了這些屬性,你可能希望修改一些值,或者有些屬性這里面沒有,下面我們來實現這個需求。
1.首先我們應該找到前面提到的WLS中的控制用戶權限的acls.prop文件。這個文件在X:beaweblogic81serverlib下面,X:為你的安裝盤符。打開它。
上面的注釋說的是默認的情況下只允許Admin用戶訪問,并且只有讀的權限。如果希望能夠進行其他的操作,請參照我的第10篇筆記寫控制規則。在這篇筆記里,我們并不想實現非常精細的權限控制,我們只要將選中的部分和最后兩行的前面的“#”去掉保存就可以了。
保存后,重新啟動WLS。
2.下面我們添加一個用戶。在People上點擊右鍵,在彈出菜單中選擇“New”。
3.在彈出的界面上的“Enter RND”中輸入“uid=zj”。“zj”是我隨便起的名字,并沒有特殊意義。其他項不變,單擊“OK”。
為對象添加自定義屬性時也需要改變“selected Classes”,后面再說。
5. 單擊界面的右邊的“Submit”按鈕。出現錯誤提示。
6. 這是因為有些屬性沒有默認值,但又不允許為空,所以操作沒有成功。
7. 我們修改哪些必填的屬性。你可能會問,哪些屬性必填呢?這個問題我們過會兒討論,現在我給所有的屬性都賦值(當然這是不必要的,但為了簡單,我們這里先這樣做)。保存。保存成功,界面如下。
8. 此時我么你可以修改任何一個屬性的值,然后單擊“submit”保存。當然我們更改后的值應該是合法的(長度、數據類型等都要合法)。
至此,我們完成了修改對象的屬性的說明。
四.添加自定義屬性
為了迎合我們的項目的需要,添加自定義屬性是不可避免的,但我們在添加自定義屬性前首先要查一下LDAP的規范,看看里面是否已經有了我們要添加的屬性的名字,比如“userPassword”,在LDAP已經公布的規范中已經定義了,所以你如果在自己的對象中添加這個屬性是不正確的。你可以到http://www.ldapman.org/schema-references/ 上查找你要添加的屬性名是否在規范中的Schema中定義了。
Schema是定義了目錄服務器中包含的對象的定義文件(這是我的總結,當然你可以到www.ldapman.org上看上面的幾篇LDAP的入門文章,那里面有比較詳細的介紹)。
我們打開WLS中的Schema文件看看。WLS中的Schema文件名為Schema.core.xml,位置為X:beaweblogic81serverlib,X:為你安裝的WLS的盤符。如圖。
在這里我不想講解Schema的語法結構(你可以閱讀相關的LDAP的規范,這些規范都可以在)www.ldapman.org上找到。
在這里我們復制一段,稍加修改就可以了。
1.復制選中的文字。
2.粘貼到選中的文字的下方,并將id和name的值都修改為mylove(這是我喜歡的一首英文歌的名字)。將dsml:object-identifier的值去掉,添加一個新屬性iknowiloveyou(這是我喜歡的另一首英文歌的名字^_^),注意后面的required=true的意思是這是個必填的屬性。修改后如下:
<dsml:class
id="mylove"
type="structural"
superior="#top">
<dsml:name>mylove</dsml:name>
<dsml:description>ltf's test</dsml:description>
<dsml:object-identifier></dsml:object-identifier>
<dsml:attribute ref="#iknowiloveyou" required="true"/>
<dsml:attribute ref="#peoplename" required="false"/>
<dsml:attribute ref="#peoplepassword" required="false"/>
<dsml:attribute ref="#description" required="false"/>
</dsml:class>
保存。重新啟動WLS。
3.啟動Jxplorer,為用戶zj添加子入口(Entry)。我們選擇將子入口添加到RDN(相對DN)sn(surname,參見LDAP的規范)的下面。
我們在zj的上面點擊右鍵。
在彈出菜單上選擇“New”。彈出界面如下。
單擊“OK”,保存成功,注意這里面有些類是必須的,如top。
4.我們再展開zj看看。發現下面多了一個子入口。選擇子入口li,屬性顯示在右邊屬性欄。
至此,我們這篇筆記也結束了。
這篇筆記記錄的內容雖然簡單,但卻是我查了一周的英文資料,讀了幾十篇英文文章,才弄出來的,希望對大家有用。你可以參照這篇筆記的做法,添加自己的對象。
這篇筆記沒有介紹LDAP的術語及意義,如果想詳細了解LDAP的術語及意義,請www.ldapman.org上的規范,嘿嘿,是多了些,但可以提高E文水平!我只看了關于Schema的幾篇,你也遭遭這份洋罪吧!我想起《沙僧日記》中的一段:
銹逗1年2月25日
我們終于登上了心馳神往的天山!
天池象一位美麗純潔的少女暈到在天山頂上。湖水幽藍,倒映著蔚藍的天空和潔白的云彩。是那么的恬靜,那么的清澈。
我們在湖邊大喊:“喂……!有……人……嗎……?”聽到湖對面傳來我們的回聲:“喂……有……四個……傻……鳥……!”
二師兄情不自禁,跳入湖中,游起泳來。他跳下去后,師傅笑道:“哈哈,這個癡人!天池中的水是天山上的冰雪水匯聚而來,常年冰冷刺骨,他竟然問都不問就跳了下去!”
卻見二師兄神情自若地游著,師傅問他:“不涼嗎?”
二師兄表情自然,并無半點痛苦之色。說:“太舒爽了!太愜意了!一點都不冷!好象夏為夷的海水!不信你下來試試?”
師傅立即換上高叉泳衣,跳入湖中。
二師兄這時卻一下爬上岸來,馬上打起了哆嗦……:“呀呦!太冷了!我快不行啦!差點沒凍死!……還好,我演技高拖一個下去……否則就我一個下水挨凍,豈不沒有面子!”
師傅大概也是這么想的,在水里嘴唇發青,渾身顫抖,還一個勁兒在喊:“快!……快……快下來爽一下!真……真是太消魂了!”
我們沒有理他,都去采花編花籃去了。
好了,如果時間允許的話,我下一篇筆記是總結怎樣通過JNDI來操作LDAP的。我還有struts的筆記還沒有寫完呢,哈哈!
原文轉自:http://www.anti-gravitydesign.com