2011-08-02 10 views
0

私が開発しているASP.NET MVC 3サイトには複数の異なるURLからアクセスできます。 -end(DBへの1:1 URL)。ユーザーが各URLにログインしなくても、URLを切り替えることができるようにする必要があります。現在、私はほぼ標準のMembershipProvider/RoleProvderスキームでForms Authを使用しています。URLを切り替えるときにログインする方法(両方のURLで「同じWebアプリケーション」)

URLの変更を許可し、「ログインしています」という私のオプションは何ですか?私は、何らかの連合セキュリティを実装する必要があると思います。何がお勧めですか?セキュリティのすべての側面を制御する必要があることに注意してください(たとえば、Google IDを使用できないなど)。

必要に応じて、WCF Webサービスをミックスに追加しても問題ありません。

すべてのウェブユーザーをドメインユーザーにしたくないため、ADとの統合は望ましくありません。

EDIT:認証DBが

事前のおかげで、現在すべてのURLで同じです。

+0

「異なるURL」と言うと、「異なるドメイン」を意味しますか? –

+0

はい、異なるドメイン。 "cpl.domainone.com"と "cpl.domaintwo.com" –

答えて

1

ネイティブに、私はあなたが運が良かったと確信しています。メンバーシッププロバイダは、もちろん、ドメインにバインドされているCookieを介して認証セッションを維持します。あなたがURLを介して認証状態を渡して認証することを可能にする振る舞いを実装するのには至りませんが、私はこれを回避する方法がありません。

+0

私はメンバーシップ・プロバイダ・スキームとセッション・クッキーを削除して、そのトリックを行うなら別の方法に賛成です。何か案は? –

+0

セッションクッキーを捨て、cookieessセッションの永続性を使用することができます(代わりにURLを使用します)。しかし、ドメイン間で認証状態を維持するのかどうかはわかりませんが、セキュリティの観点からはそれほどうれしくありません(http:// www。 troyhunt.com/2010/07/owasp-top-10-for-net-developers-part-3.html)。とにかく(すべてのネイティブの振る舞いをオーバーライドすることができます)、拡張性に優れていることから、メンバーシッププロバイダは単に除外しません。複数のドメインを使用する理由の詳細を説明するために質問を更新することは可能でしょうか?これには別の角度があるかもしれません。 –