2012-07-07 84 views
0

我有四個系統在同一臺服務器上運行。我想讓用戶爲所有系統登錄一次。我製作了一個用戶管理系統來創建用戶並進行編輯。如何獲得多個系統的一個登錄頁面?

我試圖保存在會話中,但它沒有幫助。

有什麼建議嗎?我在asp.net上工作。

回答

-1

我建議查看ActiveDirectory或任何LDAP服務器的單點登錄來訪問所有應用程序。如果您不能(或不希望)使用LDAP,則可以使用任何內存/磁盤存儲庫實現類似的功能(但花費更多的開發工作/時間)。如果這是不可能的,請分享爲什麼,因爲它可能對其他人有用。

希望這會有所幫助。

0

有兩種方法。

在中心站點發生登錄的大多數解決方案都是在中心站點上進行的,該中心站點隨後返回目標站點用於檢索用戶的身份信息字段(登錄標記)。

當您轉到另一個站點時,站點會立即將您重定向到中心站點,並且如果您已登錄(持久cookie),您將獲得您的身份。

另外,你可以做很多推薦人和玩耍。

你想在互聯網上做一些研究 - 你loo kfo是什麼「單一登錄」。

http://www.codeproject.com/Articles/27576/Single-Sign-on-in-ASP-NET-and-Other-Platforms

有一定的技術討論。

跨越完整的獨立的網站(域名),你可以在

http://aspalliance.com/1513_Cross_Site_Authentication_and_Data_Transfer

howw讀了做 - 顯然共享餅乾不會在那裏工作。

0

執行此操作的最佳方法是使用聯合安全。如果您使用Windows身份驗證,則可以使用Active Directory聯合身份驗證服務(ADFS)。在這個模型中,用戶引用一個Web應用程序,並檢查當前線程上的主體。如果該值爲空,則存儲在web.config中的信息將自動將請求重定向到登錄頁面。這是假設沒有Windows安全上下文,否則用戶可以自動登錄。

在用戶成功登錄到環境後,線程上的主體將被填充併發出一組聲明特定於該用戶。由於索賠與委託人關聯,而不是與特定的應用程序相關聯,因此可以通過任何聲明感知應用程序全面使用索賠。

如果您沒有使用Windows身份驗證,您仍可以完成同樣的事情,唯一的問題是您無法使用ADFS。相反,您必須實現自己的身份提供程序來替換ADFS。 .NET Framework確實提供了基類和接口來幫助您實現。

+0

除非海報使用廣告 - 這可能不是95%,因爲這隻適用於Intranet場景,並且您可以使用集成安全性(並且在您提問之前,是的,您可以在互聯網上使用廣告 - 快樂付費,每用戶CAL),這只是一項不適用的技術。由於大多數網站都是面向互聯網的,而且聯合安全在公共用戶管理方案中不起作用... -1。 – TomTom 2012-07-07 21:15:55

+0

湯姆,你絕對錯了。您可以在Web上使用基於Windows的身份驗證。您如何看待Outlook Web Access的工作原理?你不知道你在說什麼。我不僅建議Windows身份驗證可以工作,但是我繼續說,實現自定義標識提供程序也會提供聯合安全性。作爲一個白癡很好的工作。 – 2012-07-07 21:19:13

+0

+1僅用於對@TomTom的響應。 – 2012-07-07 21:39:19