iT邦幫忙

0

本公司先後在windows平台委外開發數個web-based 應用系統,如何建立單一簽入存取作業環境?

這些AP是由不同公司設計,請問建立SSO(Single SignOn)很難嗎?應如何進行?應注意何事?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
24
海綿寶寶
iT邦大神 1 級 ‧ 2008-10-22 15:01:49
最佳解答

簡單說,我覺得「很難」

即使是同一家公司設計的數個web-based系統
只要不是同一時間開發的
我都覺得很難

看你的運氣
如果這幾個web-based系統
都採用相同的認證授權機制(eg.Active Directory, LDAP)
或許SSO還有可能進行下去

否則
我覺得會是一件大工程

同意antijava說的,
即使有AD作為後盾,原來的系統的認證控管機制還是要重新寫過。大工程一件。

同一個問題
有人覺得很難,有人覺得很簡單
不知道是有人想太多了,還是有人想太少了...^_^

20
glennlin
iT邦研究生 4 級 ‧ 2008-10-22 17:29:29

純web-base的程式就不會很困難了
如果你有AD,那就更加容易了
因為只需要寫出一個讓所有程式使用的LDAP共用ADO就能做SSO了

外面也有許多公司提供這類的服務
有的還能把不同平台的程式都整合一起
只是價格不同而已

2
aliceyeh
iT邦新手 2 級 ‧ 2008-10-24 08:49:50

用Web Service試試看吧, JSP和ASP都支援Web Service, 將AD認證的邏輯移至Web Service, 只是難度還頗高就是了.

8
stoneck
iT邦新手 2 級 ‧ 2008-10-24 09:26:14

單一簽入, 唯一需要做到的就是 [登入者資訊] 在不同系統交接時的傳遞,

因為看來你們已經完成了各系統的建置,
所以你現在要做的只是要集合各家廠商,
請他們增加 2 項功能 :

  1. 各 AP 之間的登入認證資料互相同步機制(例如互相拷貝相關
    欄位,或是全部就參照某一個現行資料....等等, 記得要從 [容易管理] 著手)
  2. 自某個 AP 登入後, 利用畫面上的 Hyper-Link 轉往其他 AP 時,
    User 的帳號參數傳遞,

參數的傳遞只是程式製作的基本功, 完全沒有任何困難技術可言.

fillano iT邦超人 1 級 ‧ 2008-10-24 12:06:40 檢舉

這樣會不會變成我不用登入系統,把網址bookmark起來,就可以進入所有的ap?

stoneck iT邦新手 2 級 ‧ 2008-10-24 17:17:20 檢舉

WEB AP 互相傳遞使用者資訊的時候,
除非把使用者的訊息直接利用寫在 URL 後面的方式,
才會有可能被你用這種簡單方式取得.
我想程式設計者不至於笨到用這種方式.

一般至少至少都是用 Form Submit Post 的參數傳遞方式,
這樣網址列就只有正常的網址, 不包含任何參數,
假設你這樣把網址bookmark 起來, 那就只是記錄了程式的進入點,
完全沒記錄到使用者登入資訊.

嚴謹點還會把參數加上編碼,
同時把登入時效一起編入亂碼內,
如此就算是萬不幸被記錄到登入時的那串編碼,
也因為過了登入時效, 這串編碼依然只是垃圾, 失去效用.

我要發表回答

立即登入回答