打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
BEA到台灣、BEA在台灣: Weblogic Portal 8.1:整合LDAP

星期五, 九月 30, 2005

Weblogic Portal 8.1:整合LDAP

LDAP的整合總是有一點神秘,但是又常常會碰到的問題。
或許是因為相關書籍以及討論比較少,所以大部分的人對於這種技術並不如RDBMS那般的熟悉;但無形之中,LDAP在今天的IT系統當中仍然扮演相當重要的角色,比如說使用者帳號的存放以及管理

今天的文章當中,我準備要介紹怎麼將OpenLDAP整合到Weblogic Server 8.1的認證(Authentication)機制;為了讓各位能夠更容易了解整合的原理,我也會稍微介紹JAAS以及Weblogic Security Framework(說實話,JAAS本身就可以寫一本書了,所以有空再另外詳述)。至於Portal的部分,我則會介紹怎麼更進一步的設定LDAP整合,以及怎麼樣設定LDAP來達到巢狀使用群組(Nested Group)權限的繼承效果。

有玩過Weblogic Server 8.1的朋友們應該很熟悉Weblogic Admin Console的操作介面;在Admin Console當中我們可以設定幾乎所有Weblogic可調整的參數。當然,由於今天講的是LDAP,所以我們現在感興趣的是如何在Admin Console當中設定安控相關的參數,以便將使用者認證的LDAP查詢機制整合到Weblogic裡面來。

首先,啟動Weblogic Server。當Server啟動完畢後,進入http://localhost:7001/console ,預設值可以用weblogic/weblogic帳號進行登入。

在這個系統啟動→登入的過程當中,其實Weblogic內部的安控引擎已經替我們做了很多事情;首先在啟動過程當中,Weblogic會詢問Administrator權限的帳號以及密碼;而透過這套帳號的認證,Weblogic內部的安控系統會決定這個帳號權限所能夠啟動的系統服務。

另 外,由於Admin Console本身就是一個採用Form-based Authentication的J2EE Web Application,而JAAS-based的認證會將認證資料傳遞給底層做苦工的Weblogic Security Framework;而Weblogic Security Framework則會根據你原來的設定,將你所提供的帳號密碼提交給Authentication Provider進 行比對,比對成功才允許進入Admin Console。至於什麼是Authentication Provider呢?簡單來說,Authentication Provider就是JAAS認證機制和實體認證儲存機制的一個媒介;透過這種媒介,理論上Weblogic可以和任何一個系統進行帳號密碼的比對以及共 享。。

大家可能會很好奇:Weblogic是怎麼去儲存預設的帳號以及密碼?Tomcat的預設做法是用xml儲存並且load到Memory Realm,那Weblogic的做法又是什麼呢?

其 實Weblogic本身Bundle了一套小型的LDAP引擎。每一個你所啟動的Weblogic Server instance都會有一個屬於自己的LDAP資料庫,但是通常你能夠去修改編輯的只有Admin Server的LDAP資料庫;其他的Managed Server會從Admin Server把最新的資料複製過來。

對應到剛剛 Authentication Provider的話題。各位應該已經猜到了:Weblogic有一個DefaultAuthentication Provider會和內嵌的LDAP進行帳號以及密碼的比對;所以如果我們想要利用OpenLDAP來取代原本Weblogic內建的LDAP,標準的做 法就是幹掉原來的Authentication Provider,而以Weblogic內建的OpenLDAP Authentication Provider來取而代之。但是有一點必須要注意!在幹掉Weblogic內建的LDAP之前,必須將裡頭的帳號密碼複製到OpenLDAP當中,否則 待會會連Weblogic都無法啟動。

如果覺得還要複製這些帳號很麻煩,其實有比較簡單的方法:讓這兩個Authentication Provider共存!只是還是必須做點小調整。

一 個Weblogic Domain可以同時存在多個Security Realm,但是只有一個是Active的;而一個Security Realm裡頭可以同時有好多個並行的Authentication Provider/LoginModule(是的,Authentication Provider實際上底層就是對應到一個LoginModule);根據JAAS的規格,我們要透過REQUIRED、REQUISITE、 SUFFICIENT、OPTIONAL等控制旗標來告訴Weblogic,在一個以上的Authentication Provider環境中,到底哪些Authentication Provider說得話才算話(這些旗標的意義請看Java SDK的Javadoc)。簡單來說,如果我們希望在不同的Authentication Provider之間產生聯集的效果,那我們最好把這些Provider的控制旗標設定成OPTIONAL。

哇!是不是有點給他小複雜?休息一下,我們再繼續往下看。

剛剛我們介紹了整合OpenLDAP到Weblogic的原理和做法,接下來我們就來看看剛剛這些設定對Weblogic Portal來說有什麼意義。

Weblogic Portal 8.1的權限控管機制是把Weblogic Server的功能加以強化;這也就是說,其實Portal和Server之間的權限控管機制是共享的。所以,當你在Weblogic Server設定了一組OpenLDAP的Authentication Provider時,Portal也可以輕易存取這些資源,並且和強大的Entitlement功能整合,讓群組的權限設定能夠有繼承的效果。什麼是群組權限的繼承?我們用以下的一個場景來描述。

假設我們今天有一個場景,希望建立一個群組叫做信用卡使用戶,以及另外三個子群組,個別是銀卡用戶金卡用戶白金卡用戶。 只要我們在LDAP裡頭正確的設定信用卡使用戶的groupofnames類別,將member屬性設定成銀卡、金卡以及白金卡等群組的DN,那 Portal就會自動在進行Entitlement檢查的時候,讓銀卡、金卡以及白金卡的群組能夠繼承信用卡使用戶的權限。這是一個非常實用的功能!運用 這種功能,你可以設定一個信用卡用戶才能看得到的專屬頁面,然後在這個頁面裡頭提供針對銀卡、金卡、白金卡等不同等級的Portlet資訊。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
BEA Weblogic Portal项目实施解决方案集
How WebLogic Portal Uses the WebLogic Server Security Framework
CSDN 文档中心:针对开发人员的WebLogic Server应用管理,第 2 部分
Implementing LDAPv3
Windows下LDAP服务器配置
BEA WebLogic Server 9.2 文档
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服