2011-04-06 115 views
0

技術 ASP.NET,VB.NET 2.0(即將4.0)ASP.NET VB.NET遠程登錄門戶網站設置

概述 我正在寫一個登錄/認證門戶,所以Web應用程序可以使用它來登錄用戶,然後他們可以使用他們的憑證使用該應用程序。

登錄門戶將是一個單獨的應用程序,並且最初只能通過Extranet和Intranet用於某些應用程序;但未來的應用程序將需要通過網絡進行身份驗證(作爲單獨的實例高興地實施)。我基本上希望其他單個應用程序能夠通過此門戶對用戶進行身份驗證。

這樣...

  1. 用戶進入到一個應用程序的Web URL(即www.application.com/http://apps/application - 內網),並點擊 「登錄」。
  2. 用戶的瀏覽器重定向到門戶應用,具有查詢字符串 www.loginportal.com/login.aspx?url=www.application.com/login.aspx (或其他頁面)。
  3. 用戶填寫其憑據(用戶名,密碼),然後單擊 「登錄」按鈕。
  4. 瀏覽器重定向回網址,即www.applications.com/default.aspx或login.aspx並進行身份驗證並登錄;並可以使用應用程序。

完成 我有自己的分類認證,並實現在通過DLL的本地應用程序類庫。

極品 所以基本上,我需要知道,如何: - 1.數據發佈到門戶網站的URL(可能是不同的域)。 2.使用信息重定向瀏覽器。 3.確保身份驗證是安全的,不容易破解(我知道如何使用urlencode和htmlencode等) - 只是不確定跨域發佈數據的影響。

任何幫助,不勝感激...

乾杯, 鄧肯。

回答

0

嚴重困難的東西,在這裏。如果是我,我會嚴重依賴Windows Identity Foundation。我相信它可以支持這種情況(實際上並沒有這樣做;我公司的其他人正在開發它)。

0

行,所以這是我最終使用的溶液:

在原來的應用程序(即需要認證的一個;上述步驟1)I將用戶重定向到我的登錄門戶,以及包括原始URL作爲get參數。 然後用戶輸入他們的詳細信息,用戶名和密碼。

接下來,服務器端代碼對它們進行身份驗證,然後重定向到一個新頁面,在該頁面中,我將包含請求日期時間(用於安全性)的html表單以及加密字符串(包括日期時間請求)我想要發送回原始表單的數據。

我還添加了一個JavaScript post方法,它將數據作爲表單發送到原始URL。因爲我在兩端使用相同的類庫,所以我可以使用相同的方法對數據進行加密和解密,並且原始請求應用程序具有所有用戶數據,包括檢查請求的日期時間的能力(我允許一組認證之間的時間量拾取由最初的應用程序,並確保這些都是中說5分鐘。

而且完成任務。

如果有人想代碼,我可以提供它,只是不」如果我記得我會發布它

不是最優雅的解決方案,但它的工作原理,它是安全的,所以我很高興。