我有兩個應用程序 - 一個是基於Rails構建的Ruby(v1.9.2),另一個基於ASP.Net構建的簡單報告應用程序結束一些Reporting Services報告。我想要做的是提供從Rails應用程序到ASP.Net Web應用程序的單一登錄類型的功能。有沒有辦法做到這一點?從ASP.Net Web應用程序中的Rails應用程序中消費用戶/認證信息
注意:我總是可以通過請求使用查詢字符串或一些這樣的機制將用戶信息傳遞給ASP.Net Web應用程序,但是這感覺有點骯髒。
我有兩個應用程序 - 一個是基於Rails構建的Ruby(v1.9.2),另一個基於ASP.Net構建的簡單報告應用程序結束一些Reporting Services報告。我想要做的是提供從Rails應用程序到ASP.Net Web應用程序的單一登錄類型的功能。有沒有辦法做到這一點?從ASP.Net Web應用程序中的Rails應用程序中消費用戶/認證信息
注意:我總是可以通過請求使用查詢字符串或一些這樣的機制將用戶信息傳遞給ASP.Net Web應用程序,但是這感覺有點骯髒。
我假設你的問題涉及'最終用戶'的經驗。在這種情況下,您應該使用OAuth。基本上你需要支持以下工作流程:
此處Rails應用程序將作爲OAuth提供程序服務器,而作爲OAuth客戶端的網絡應用程序將作爲服務器提供。
這聽起來是矯枉過正,但這種方法有許多優點:
一個簡單的解決辦法是對同一個域中的兩個應用程序,但在不同的子域,例如:
然後有一個共享的cookie(將Cookie域設置爲.mydomain.com
)。
然後,您的ASP.NET應用程序可以檢查您的Rails登錄應用程序(通過webservice/REST API)以從會話ID獲取用戶名和登錄狀態。
雖然我也認爲OAuth是一個偉大的路要走,這將工作:)