2010-01-18 204 views
0

我在這裏有一個具有挑戰性的場景。我有一個現有的asp.net 1.1應用程序A,它使用第三方Java應用程序進行登錄驗證。ASP.NET單點登錄問題

成功驗證之後,基於加密的URL中的第三方應用程序重定向到我現有的應用A.應用A將超過解密URL和身份驗證的用戶進行會話登錄。

我開發一個新的應用程序B(asp.net 2.0),其爲用戶提供一個頁面的應用A或B

之間進行選擇

我已經想存儲加密url和兩個應用程序A & B的將基於加密的查詢字符串來適當地解密和認證用戶。但是,我相信這種方法會帶來安全風險。

是否有實現這個沒有更好的辦法?

回答

1

在哪裏存儲用戶數據?如果它位於數據庫表中,那麼使用共享用戶數據庫表跨多個Web應用程序維護登錄狀態的最簡單方法就是使用類似於基於GUID的登錄令牌的方式存儲數據庫中的用戶記錄。每次用戶登錄到應用程序時,都會生成一個新的GUID令牌。然後你可以在應用程序之間傳遞它。如果應用程序通過此GUID,它會自動登錄相關用戶。只要你使用https,這是非常安全的。並且您沒有傳遞登錄信息。即使有人以某種方式找出GUID,它也只會對單個會話有用。

+0

除了在數據庫中存儲我可以使用表單認證asp.net 1.1和2.0之間啓用跨應用程序? – youcanlearnanything