2012-01-09 17 views
4

2つのアプリケーションがあります。1つはRuby(v1.9.2)ですが、一部のReporting Servicesレポートが終了します。私がしたいのは、RailsアプリケーションからASP.Net Webアプリケーションへのシングルサインオンタイプの機能を提供することです。これができる方法はありますか?ASP.Net WebアプリケーションのRailsアプリからユーザー/認証情報を消費する

注:ASP.Net Webアプリケーションには、クエリ文字列またはそのようなメカニズムを使用してユーザー情報を渡すことはできますが、それは少し汚れているようです。

答えて

1

あなたの質問は「エンドユーザー」の経験に関するものとみなします。この場合、OAuthを使用する必要があります。基本的には、次のワークフローをサポートする必要があります。

  • ユーザーは.netレポートアプリケーションにアクセスします。
  • それは、ユーザーが受け付けると、
  • ユーザーズ自分のデータへのアクセスを許可するよう求められますのRailsアプリにユーザーをリダイレクトしますが、トークンouathで、バックネットアプリにリダイレクトされます

ここでは、RailsアプリはOAuthプロバイダとして、netアプリはOAuthクライアントとして提供されます。それはやり過ぎのように聞こえるかもしれないが、このアプローチは多くの利点があります

  • あなたは、業界標準のOAuthを使用して、ユーザーデータへのアクセス
  • 役割と認証
  • の明確な分離を持っているアプリを制御することができます他の言語に役立つ多くのOAuthライブラリがある
  • あなたのサービスその他の使用を許可する
0

簡単な解決策は、同じドメイン上に2つのアプリを持っていることだろうが、別のサブドメイン、例えば中:

  • reporting.mydomain.com
  • login.mydomain.com

そして、共有Cookieを持っている(Cookieドメインを.mydomain.comに設定)。

ASP.NETアプリケーションは、Webサービス/ REST APIを介してRailsログインアプリケーションをチェックして、セッションIDからユーザー名とログインステータスを取得できます。

私はOAuthが良い方法だとも思っていますが、これはうまくいくでしょう:)

関連する問題