雙面 for Java

          Find Myself.Be Myself

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            3 隨筆 :: 6 文章 :: 18 評論 :: 0 Trackbacks
          配置單點登錄(Single Sign-On)

            一旦你設置了realm和驗證的方法,你就需要進行實際的用戶登錄處理。一般說來,對用戶而言登錄系統是一件很麻煩的事情,你必須盡量減少用戶登錄驗證的次數。作為缺省的情況,當用戶第一次請求受保護的資源時,每一個web應用都會要求用戶登錄。如果你運行了多個web應用,并且每個應用都需要進行單獨的用戶驗證,那這看起來就有點像你在與你的用戶搏斗。用戶們不知道怎樣才能把多個分離的應用整合成一個單獨的系統,所有他們也就不知道他們需要訪問多少個不同的應用,只是很迷惑,為什么總要不停的登錄。

            Tomcat 4的“single sign-on”特性允許用戶在訪問同一虛擬主機下所有web應用時,只需登錄一次。為了使用這個功能,你只需要在Host上添加一個SingleSignOn Valve元素即可,如下所示:

          <Valve className="org.apache.catalina.authenticator.SingleSignOn"
          ????? debug="0"/>

            在Tomcat初始安裝后,server.xml的注釋里面包括SingleSignOn Valve配置的例子,你只需要去掉注釋,即可使用。那么,任何用戶只要登錄過一個應用,則對于同一虛擬主機下的所有應用同樣有效。

            使用single sign-on valve有一些重要的限制:

            1> value必須被配置和嵌套在相同的Host元素里,并且所有需要進行單點驗證的web應用(必須通過context元素定義)都位于該Host下。
            2> 包括共享用戶信息的realm必須被設置在同一級Host中或者嵌套之外。
            3> 不能被context中的realm覆蓋。
            4> 使用單點登錄的web應用最好使用一個Tomcat的內置的驗證方式(被定義在web.xml中的<auth-method>中),這比自定義的驗證方式強,Tomcat內置的的驗證方式包括basic、digest、form和client-cert。
            5> 如果你使用單點登錄,還希望集成一個第三方的web應用到你的網站中來,并且這個新的web應用使用它自己的驗證方式,而不使用容器管理安全,那你基本上就沒招了。你的用戶每次登錄原來所有應用時需要登錄一次,并且在請求新的第三方應用時還得再登錄一次。當然,如果你擁有這個第三方web應用的源碼,而你又是一個程序員,你可以修改它,但那恐怕也不容易做。
            6> 單點登錄需要使用cookies。

          posted on 2006-08-10 12:43 雙面人 QQ:147670662 閱讀(672) 評論(0)  編輯  收藏 所屬分類: 網上收集
          主站蜘蛛池模板: 金华市| 保定市| 长子县| 拉萨市| 双城市| 花垣县| 肃北| 独山县| 临安市| 扬州市| 涿州市| 八宿县| 津市市| 沭阳县| 都兰县| 潢川县| 佛学| 新龙县| 盐山县| 龙山县| 宝鸡市| 彩票| 淮南市| 千阳县| 麟游县| 大同市| 泰来县| 仙游县| 淄博市| 信宜市| 甘孜县| 潮安县| 茌平县| 四会市| 淮南市| 保德县| 吐鲁番市| 纳雍县| 休宁县| 富蕴县| 新密市|