2010-09-10 67 views
0

我需要創建一個單一的登錄結構,我的問題是:SSL是必須的嗎?確保單一登錄到web應用程序

詳情: 該應用程序將有一個鏈接到我的web應用程序。當用戶點擊該鏈接時,他們的本地用戶名將被傳遞給我的Web應用程序,此時在映射文件中查找完成。如果地圖上存在本地用戶名,則該用戶已登錄。如果沒有,則將提示用戶輸入其網絡用戶名和密碼,並且在進行身份驗證時將創建地圖中的條目。

我如何確保用戶是他們自稱的人,而不是Joe Blow從街上用該用戶名發送HTTP POST請求?

我是否必須使用SSL(如果是這樣,那是什麼)?加入鹽和加密用戶名是否足夠?也許鎖定它,以便源IP必須在一個控制範圍內?

我的web應用程序在IIS 6/7上運行,並使用ASP.NET MVC框架(如果這很重要)。

+0

這似乎可能是在serverfault權限下給我。 – Rushyo 2010-09-10 16:25:12

回答

0

由於用戶沒有將任何祕密傳遞給Web應用程序,因此聽起來像是一種很差的身份驗證方式。因爲它在Intranet上最有可能我猜你可以使用用戶名+ salt的哈希值作爲會話標識符。雖然沒有使用過ASP.NET,但我確信它可以讓你創建永不超時的會話,而不是實現這個路線,而不是重新實現輪子,除非在桌面應用程序中動態更新會話ID是一個問題。

0

聽起來像您想要使用SSL客戶端證書。你如何實現這取決於你的設置。

其他信息,以銘記:

如果我要發「dmoules」到你的應用程序,我可以。你不能阻止我這樣做。您需要通過提供身份證明的可信來源進行身份驗證。沒有一些證據(如客戶端證書),您不能相信未經修改的應用程序中的HTTP請求。

相關問題