委外開發的Web應用系統,能建立單一簽入嗎?
到iT邦幫忙

ithomelee(IT邦初學者9級)發問:
這些應用程式是由不同公司開發,有辦法在它們之間建立單一簽入(Single Sign On)的解決方案嗎?

glennlin(IT邦初學者9級):
純Web-Based的程式不會很困難,如果有AD之類的機制,就更加容易了,只需要開發出可以讓所有程式透過LDAP共用ADO的機制,就可以做單一簽入了。

坊間也有許多公司提供這類的服務,能把不同平臺的程式都整合一起,也可以去詢價。

antijava(IT邦初學者1級):
即使是同一家公司設計的數個Web-Based系統,只要不是同一時間開發的,都不容易做到這項機制。

如果這幾個系統,都採用相同的認證授權機制(像是Active Directory、LDAP)或許還有一點機會,不然就是很大的工程了。

aliceyeh(IT邦初學者9級):
不知道你的應用程式採用的是什麼程式語言開發的?像JSP和ASP都有支援Web Service,可以將AD認證的邏輯移至Web Service。不過這開發工程有點難度。

stoneck(IT邦初學者8級):
單一簽入需要做到的是,使登入者資訊在不同系統交接時傳遞。既然各系統已經建置完成,只要各家廠商再額外增加2項功能:

1. 應用系統之間的登入認證資料,具備互相同步機制(例如互相複製相關欄位,或是全部就參照某一個現行資料等,記得要從容易管理著手)
2. 從某個應用程式登入後,利用畫面上的超連結轉往其他應用程式時,在幕後傳遞使用者的帳號參數。參數的傳遞相當簡單,因此在程式開發上就不需要太多的時間、人力。

另外為避免超連結被直接複製使用,傳遞參數不能使用GET方法,而必須透過POST的方式較為安全。如此一來,即使超連結被記錄下來,也只是記錄程式的進入點,而不是使用者登入資訊,不會有外洩的疑慮。
也有更為嚴謹的作法。是將參數加上編碼,同時把登入時效一起編入亂碼內,這樣即使被對方取得登入時的編碼,過了時效之後,一樣沒用。

熱門新聞

Advertisement