2012-03-07 47 views

回答

4

只要您訪問兩個框架之間的某些共享資源,這當然可能是。這可能有幾種方式,但最明顯的一種方法是使用一些共享的後備存儲,即。數據庫或甚至可能更快的memcached。我不是一個Django的用戶,但據我所知memcached是支持它...

當然有一個更復雜的情況與此有關,這是數據兼容性。您可能必須使用兩種框架都可以理解的可互換格式。 XML,JSON,BSON或類似的。所以即使使用memcached,你也必須這樣做翻譯

+0

是的,這是我腦子裏想的太多了。我實際上更感興趣的是一個更實際的例子,因爲我真正的問題是共享IIS/ASP.NET在底層創建的數據(驗證/會話爲inst)。它是否需要創建一個模塊,以便安裝... – Dave 2012-03-16 03:02:21

+0

更好的共享身份驗證方法是使用Oauth 2. Google,Facebook,Twitter和許多互聯網公司都以此方式進行身份驗證。您需要實施oauth提供程序。 – barbolo 2012-03-21 22:28:40

3

我將如何共享會話...

使會話cookie的子域無關

<httpCookies domain=".mydomain.tld" /> 

有我想

之間共享會話我的兩個子域210
www.mydomain.tld [ASP.net MVC app] 
extra.mydomain.tld [Python app] 

創建返回JSON或XML序列化用戶的會話一個簡單的Web服務或在ASP.net通用處理器。

如果使用通用處理程序,請記住在類上使用IReadOnlySessionState或IRequiresSessionState接口。

現在來自extra.mydomain.tld,您可以調用您的www.mydomain.tld/[Get/Set] SessionValue處理程序或服務。它會選擇你的「.mydomain.tld」cookie並允許共享修改值。

+0

我想知道你將這個邏輯放在asp.net mvc的哪個位置?你會加入一些IIS模塊嗎? – Dave 2012-03-22 00:03:18

2

我會建議使用一個共享的數據庫下面的方法(可能是一個共享的高速緩存或其他任何數據存儲):

  1. 當用戶在您的域名訪問你的應用程序之一,你創建的一個cookie鍵「_shared_session」和由應用程序生成的隨機字符串的值;
  2. 保存這個cookie到數據庫中的值,並將它涉及到一個JSON對象抱着你想要的應用程序之間共享數據;
  3. 當用戶訪問其他應用程序時,您將驗證包含鍵「_shared_session」的cookie是否存在並讀取其值;
  4. 使用cookie的值,您可以檢索共享的JSON對象。

快速回答:應該有一個過濾器,尋找一個共同的cookie創建一個新的會話

相關問題