2009-11-21 52 views
0

我正在使用SharePoint 2007 Enterprise +發佈門戶模板+ Windows Server 2008.我正在開發使用VSTS 2008 + C#+ .Net 3.5。我需要與其他站點一起實施SSO(單點登錄功能)。該SSO協議是這樣的,身份驗證集成問題

  1. 其他網站將我發信息一樣http://mysitename/default.aspx?Identity=abc或類似http://mysitename/default.aspx(mysitename是我開發的網站);
  2. 如果Identity變量值爲null,則表示匿名用戶。如果身份值不爲空(表示認證用戶),我將使用WCF界面從Identity變量中查找用戶信息(例如用戶名和電子郵件地址);
  3. 實際用戶名,用戶配置文件(例如電子郵件地址)和密碼由其他站點維護;
  4. 我的網站將自行管理角色(即其他站點和我的站點僅共享用戶憑證認證功能以實施SSO,角色管理在兩個站點中單獨執行)。

任何想法如何整合這些SSO功能?

回答

1

您需要做的第一件事是找到一種方法來驗證您的應用程序是否從受信任的站點調用。這意味着用戶名在發送之前必須加密。因此這兩個網站都可以共享用於encrypt and decrypt敏感信息的私鑰。

  1. 站點A使用密鑰加密的用戶名,並將其發送到網站B(網站)
  2. SiteB中使用相同的密鑰解密的用戶名和檢索用戶配置文件。
+0

對不起,達林,我沒有使用你提到的密鑰加密方法。另一個網站有自我發現的方法來生成隨機字符串,它標識了經過身份驗證的用戶(即我在原始問題中提到的「身份」變量。目標站點可以從WCF服務讀取,以檢查這種隨機「身份」字符串已驗證)。 實際上,我的問題不是如何使認證集成安全,而是如何使用其他站點在SharePoint站點中使用的現有認證協議來實現SSO效果。任何解決方案 – George2 2009-11-21 14:14:00