2012-03-07 8 views

答えて

4

両方のフレームワーク間で共有リソースにアクセスする限り、これはもちろん可能です。おそらくいくつかの方法がありますが、最も明白なのは共有バッキングストアを使用する方法です。データベースか多分memcachedであっても速いでしょう。私はDjangoユーザーではありませんが、memcachedがサポートされていることを知っている限り、memcachedはサポートされています...

これはもっと複雑なシナリオがあります。データ互換性です。おそらく、両方のフレームワークが理解できるような互換性のあるフォーマットを使用する必要があります。 XML、JSON、BSON、または同様のもの。 Memcachedを使用する場合でも、翻訳を行う必要があります。

+0

はいがあるはずです。実際の問題はIIS/ASP.NETが作成するデータを共有することです(instの認証/セッション)。 ... – Dave

+0

認証を共有するより良い方法は、Oauth 2を使用することです。Google、Facebook、Twitter、多くのインターネット企業がこの方法で認証します。 oauthプロバイダを実装する必要があります。 – barbolo

0

すぐに利用できるMS SQL Serverデータベースにセッション状態を格納するオプションがあります。次のステップからのステップを使用してください。http://support.microsoft.com/kb/317604 これは設定ではなく、実装ではありません。 独自のカスタムストレージプロバイダを作成できますが、その理由は何ですか?

私のpythonに慣れていないんだけど、それ 私がセッションを共有する方法http://wiki.python.org/moin/SQL%20Server

3

ための少なくともODBCドライバがある...

セッション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"クッキーを受け取り、値の共有を許可します。

+0

私はasp.net mvcのためにこのロジックをどこに置くのですか?いくつかのIISモジュールに入れますか? – Dave

2

私は(共有キャッシュやその他のデータストアもよい)共有データベースを使用して、次のアプローチをお勧めします:

  1. ユーザーがドメインのアプリケーションの1にアクセスすると、あなたとクッキーを作成しますキー "_shared_session"と、アプリケーションによって生成されたランダムな文字列の値。
  2. このクッキーの値をデータベースに保存し、アプリケーション間で共有するデータを保持するJSONオブジェクトに関連付けます。
  3. ユーザーが他のアプリケーションにアクセスすると、キー "_shared_session"を持つCookieが存在し、その値を読み取るかどうかを確認します。
  4. クッキーの値を使用すると、共有JSONオブジェクトを取得できます。

クイック答え:私も考えていたものだった新しいセッションを作成する前に、共有クッキーを探しフィルタ

関連する問題