<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JBOSS 點滴

    豐豐的博客

    java單點登錄的實現(xiàn) --摘自 http://blog.163.com/litianyichuanqi@126/blog/static/11597944120121119163128/

    java單點登錄的實現(xiàn) ??

    2012-02-11 09:19:00 |??分類: Java |??標簽: java??web單點登錄?? | 字號 ? 訂閱

    在門戶項目中,經(jīng)常會遇到如何實現(xiàn)單點登錄的問題,下面就本人的經(jīng)驗做個總結。歡迎大家進行補充討論。單點登錄的具體實現(xiàn)有很多種選擇,包括:

    1.?????? 采用專門的 SSO 商業(yè)軟件: 主要有: Netgrity Siteminder ,已經(jīng)被 CA 收購。 Novell 公司的 iChain RSA 公司的 ClearTrust 等。

    2.?????? 采用門戶產(chǎn)品供應商自己的 SSO 產(chǎn)品,如: BEA WLES IBM Tivoli Access Manager Sun 公司的 identity Server Oracle 公司的 OID 等。

    3.?????? 這些商業(yè)軟件一般適用于客戶對 SSO 的需求很高,并且企業(yè)內(nèi)部采用 COTS 軟件如: Domino,SAP,Sieble 的系統(tǒng)比較多的情況下采用。并結合身份管理。統(tǒng)一認證等項目采用。采用這些軟件一般都要對要集成的系統(tǒng)做些改造,如在要集成的系統(tǒng)上安裝 AGENT 。現(xiàn)在一般只提供常見軟件如: Domino,SAP,Sieble ,常見應用服務器: weblogic,websphere 等的 AGENT 。要先統(tǒng)一這些系統(tǒng)的認證。一般采用 LDAP 數(shù)據(jù)庫 。然后才能實現(xiàn) SSO 。比較麻煩。

    4.?????? 另外,如果不想掏銀子,也有 OPEN SOURCE SSO 軟件可選:主要有: http://www.josso.org/ https://opensso.dev.java.net/ http://www.sourceid.org 等。具體怎么樣就不清楚了。

    ?

    如果項目對 SSO 的要求比較低,又不想對要被集成的系統(tǒng)做任何改動,可采用下面介紹的方式簡單實現(xiàn):下面我們通過一個例子來說明。假如一個門戶項目要對下面的幾個系統(tǒng)做 SSO

    ?

    java單點登錄的實現(xiàn) - 李寶才 - 李寶才的博客
    ?

    ?

    ?

    用戶在這些系統(tǒng)中的用戶名,密碼各不相同,如:員工號為001的員工在這些系統(tǒng)中的用戶名,密碼分別如下:

    ?

    java單點登錄的實現(xiàn) - 李寶才 - 李寶才的博客
    ?























    首先,建立員工在PORTAL系統(tǒng)中的用戶名和其他系統(tǒng)中的用戶名之間的對應關系

    ?

    首先,要建立員工在PORTAL系統(tǒng)中的用戶名和其他系統(tǒng)中的用戶名之間的對應關系并保存。可保存在表中或LDAP中或文件系統(tǒng)中。當然要考慮這些系統(tǒng)之間的數(shù)據(jù)同步問題。比較好的方式是找到用戶在這些系統(tǒng)中的都存在的唯一信息(如員工號,MAIL地址,姓名等)。通過唯一信息實時到各個系統(tǒng)中去取認證所需要的信息。就不需要考慮數(shù)據(jù)同步問題。比較實用。可以建立類似下面的表:密碼可采用加密保存。如果是采用BEAWeblogic Portal,可采用UUP來保存這些信息。


    java單點登錄的實現(xiàn) - 李寶才 - 李寶才的博客
    ?

    通過IFRAME或超連接方式集成目標系統(tǒng),并進行SSO通過IFRAME或超連接方式集成目標系統(tǒng),并在URL中帶上用戶名和密碼。如集成DOMINO可采用如下方式:width=" >或:Href src=“http:// host1/names.nsf?Login&Username=admin&Password=pass&RedirectTo=/names.nsf”以上采用的是在HTTP中直接傳遞明碼,為提高安全性,可采用HTTPS來傳遞用戶名和密碼。另外采用這種方式被集成的系統(tǒng)必須支持FORM方式認證。J2EE應用,DOMINO等都支持FORM認證。這兩種方式如果SSO成功,就自動進入目標系統(tǒng)的界面,如果實現(xiàn)會顯示目標系統(tǒng)的登錄界面。其效果圖如下:

    ?

    java單點登錄的實現(xiàn) - 李寶才 - 李寶才的博客
    ? 這種方式,必須維護對應關系表,如上面的sso_info。更好的方式是提供界面,讓最終用戶自己維護這種對應關系,可模仿Compoze portlets for lotus的做法,在用戶第一次進入要與之做SSO的系統(tǒng)時,如DOMINO系統(tǒng),顯示一個界面,讓用戶自己輸入他在該系統(tǒng)中的用戶名/密碼等信息。并保存到表中或LDAP等其他數(shù)據(jù)源中。以后用戶要進入這些系統(tǒng)時,就直接從表中或其他數(shù)據(jù)源中取用戶的用戶名/密碼等信息,幫助用戶做認證。建議采用這種方式。如下圖所示。如果用戶改變了自己在DOMINO系統(tǒng)中的用戶名,密碼。從門戶系統(tǒng)進入DOMINO系統(tǒng)時,認證會失敗,就重新顯示類似下面的界面。讓用戶重新輸入他在DOMINO系統(tǒng)中新的用戶名,密碼并保存。

    ?

    java單點登錄的實現(xiàn) - 李寶才 - 李寶才的博客
    ?

    以上這種實現(xiàn)方式,一般需要瀏覽器支持COOKIE,所以要注意瀏覽器的配置,在開發(fā)階段,為方便調(diào)試,可設置IE,讓它顯示COOKIE的名稱。如下所示:

    ?

    java單點登錄的實現(xiàn) - 李寶才 - 李寶才的博客

    采用這種方式,對要集成的系統(tǒng)不需要做任何的改動。如果PORTAL系統(tǒng)中的用戶在被集成的系統(tǒng)中的權限都一樣,可采用建立一個通用用戶的做法。也就是所有在PORTAL系統(tǒng)中的用戶都采用這個通用用戶進入目標系統(tǒng)。這種方式等于是采用頁面集成方式做集成。比較方便使用。另外,有時候需要采用調(diào)用API,或配置Adapter等應用集成方式來集成其他系統(tǒng),一般也是通過定義一個連接專用的用戶。在API中或在配置Adapter的時候?qū)懰馈H绮捎?/span>JAVA API方式集成DOMINO

    lotus.domino.Session dominoSession = NotesFactory.createSession(dominoServer, “admin”, “password”);

    CS結構實現(xiàn)方式

    經(jīng)常有人問CS結構的應用如何實現(xiàn)SSO,本人的建議是對這種系統(tǒng)不要自己去實現(xiàn)SSO。很麻煩,其實輸個用戶名,密碼沒什么大不了的。如果要實現(xiàn),一是采用商業(yè)軟件。另外也可以采用以下方式:在PORTALPORTLET上建立超連接。并通過APPLET方式啟動CS結構的應用系統(tǒng)的登錄界面。然后通過如下的方式把用戶名/密碼傳遞過去。-不能做任何改動的客戶端- WIN消息(給登錄窗口發(fā)送用戶名,密碼等登錄所需要的信息),模擬鍵盤(java有模擬鍵盤輸入的API

    -可以做改動的客戶端- 參數(shù)傳遞,并讓登錄的EXE文件讀取參數(shù)進行認證。因為要讓APPLET執(zhí)行本地的EXE文件,所以必須對IE中的JRE安全進行設置。

    ?

    java單點登錄的實現(xiàn) - 李寶才 - 李寶才的博客

    其他:在采用以上方式實現(xiàn)了SSO后,要注意LOGOUT,可采用與LOGIN相同的方式。也可以通過被集成系統(tǒng)的超時設置來實現(xiàn)。

    單點登錄SSO技術資料收集

    ·???????? 統(tǒng)一用戶認證和單點登錄解決方案: 計算機世界網(wǎng)上的文章,比較全面的介紹統(tǒng)一用戶認證和單點登錄解決方案

    ·???????? 惠普靈動單點登錄(SSO)解決方案: 包括C/S結構的系統(tǒng)單點登錄解決方案

    ·???????? 網(wǎng)站用戶單點登錄系統(tǒng)解決方案: 通過令牌方式實現(xiàn)網(wǎng)站用戶單點登錄

    ·???????? WebLogic平臺的Web SSOSAML)解決方案: WebLogic 8.1SP4中,提供了用于和Microsoft Windows客戶端進行SSOSingle Pass Negotiate Identity Assertion Provider。本文對其做了詳細的介紹。

    ·???????? http://blog.beijingnet.com/index.php?blogId=4: 收錄了一些SSO方面的文章

    ·???????? 應用整合中SSO的技術實現(xiàn): 作者介紹了南京地稅進行應用整合SSO的技術實現(xiàn)方案

    posted on 2012-06-20 17:10 半導體 閱讀(963) 評論(1)  編輯  收藏 所屬分類: 門戶

    評論

    # re: java單點登錄的實現(xiàn) --摘自 http://blog.163.com/litianyichuanqi@126/blog/static/11597944120121119163128/ 2012-06-21 16:26 何楊

    網(wǎng)易相冊圖片不可見。  回復  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: a级毛片毛片免费观看久潮喷| 免费又黄又硬又爽大片| 成年免费大片黄在线观看com| 亚洲精品免费在线视频| 亚洲中文字幕无码专区 | 国产中文在线亚洲精品官网| 国产美女在线精品免费观看| 午夜视频免费在线观看| 国产精品一区二区三区免费| 亚洲av无码片vr一区二区三区| 亚洲短视频在线观看| 亚洲AV无码国产在丝袜线观看| 亚洲精品岛国片在线观看| 日韩在线看片免费人成视频播放| 91av免费观看| 成全高清在线观看免费| 国产男女爽爽爽免费视频 | 国产2021精品视频免费播放| 男人进去女人爽免费视频国产| 一级做a爰片性色毛片免费网站| 亚洲欧美日韩国产成人| 色在线亚洲视频www| 亚洲最大免费视频网| 亚洲欧洲在线观看| 亚洲不卡中文字幕无码| 亚洲午夜福利在线观看| 国产亚洲AV手机在线观看| 亚洲国产精品一区二区九九| 免费在线精品视频| 亚洲精品亚洲人成在线观看下载| 免费精品国产自产拍观看| 国产a不卡片精品免费观看| 国产猛烈高潮尖叫视频免费| 永久久久免费浮力影院| 小小影视日本动漫观看免费| 日本免费观看网站| 全亚洲最新黄色特级网站| www.亚洲色图| 亚洲精品无码MV在线观看| 亚洲AV人人澡人人爽人人夜夜| 亚洲成年轻人电影网站www|