我們有一個從不同來源收集信息的Web應用程序(共享點)。我們希望能夠將用戶鏈接到各種來源的主要網站,並讓他們進行預先認證。 I.E.他們爲其他來源輸入他們的憑證(這些來源是LDAP,AD和家庭成員的許多不同類型),我們爲他們檢索一些信息,並記住詳細信息(可能是單一登錄以保持安全)。然後用戶可以點擊一個鏈接,在另一個已經通過認證的窗口中打開完整的應用程序。如何打開從一個Web應用程序到另一個已經通過身份驗證的鏈接?
這有可能嗎?
我們有一個從不同來源收集信息的Web應用程序(共享點)。我們希望能夠將用戶鏈接到各種來源的主要網站,並讓他們進行預先認證。 I.E.他們爲其他來源輸入他們的憑證(這些來源是LDAP,AD和家庭成員的許多不同類型),我們爲他們檢索一些信息,並記住詳細信息(可能是單一登錄以保持安全)。然後用戶可以點擊一個鏈接,在另一個已經通過認證的窗口中打開完整的應用程序。如何打開從一個Web應用程序到另一個已經通過身份驗證的鏈接?
這有可能嗎?
Office Server具有單點登錄api作爲內置功能。你可能想看看。它使您能夠安全地註冊用戶憑證,並在運行時訪問它。
您需要充當網絡瀏覽器,以便在不同的網站上以本地方式存儲憑據(通常是Cookie)。因此,使用一個適當的客戶端庫與Cookie支持。這可能對大多數網站來說可能。有些站點使用HTTP身份驗證,這些站點也可以更容易地從適當的客戶端庫訪問。要求最苛刻的可以訪問SSL網站,但是現在大多數客戶端HTTP庫也覆蓋了這一點。
您現在需要的只是準備您的Web應用程序,以充當所有這些獨立Web資源的代理。在Sharepoint中究竟做了什麼,好吧,我希望其他人能夠回答這個問題......
真Single Sign-on是一個很大的任務。維基百科介紹了幾個SSO項目的常用方法和鏈接。
如果你想要的東西較輕的,我已經在過去使用這種方法:
從安全角度來看,guid幾乎不可能被猜出。您可以通過讓代幣非常快地過期來縮小風險 - 調用代理程序不應超過幾秒鐘。
如果目標應用程序使用Windows身份驗證並且沒有基於角色的邏輯,則不應該做太多。只需重定向並讓你的File/UrlAuthorization來處理它。如果需要,您可以使用安全令牌數據庫處理基於角色的權限。