2016-03-23 10 views
0

私は共通ログインで複数のWebアプリケーションを作成しました。私は別の会員データベースを持っています。 http://localhostに行くユーザーは自動的にhttp://localhost/homeにリダイレクトされます。ここでユーザーはログインする必要があります。ログインすると、アクセスできるアプリケーションへのリンクが表示されます。しかし問題は、リンクの1つ(例えば、http://localhost/webapp1)をクリックしたときに、そのアプリケーションのインデックスページに直接ではなく、そのアプリケーションのログイン画面にリダイレクトされることです。ユーザーが認証されたことをアプリケーションに知らせるにはどうすればよいですか?MVC 4共通ログインを使用する複数のアプリケーション

答えて

0

ユーザーが認証されると、Cookieが追加されます。ユーザーが「ログインしている」かどうかを判断するのはこのCookieです。重要なことに、このCookieは暗号化されており、特定のドメインに関連付けられています。つまり、あなたのために2つのことを意味します。

  1. これは、すべてのサイトが同じドメインにある場合にのみ機能します。 サブドメインにあることができますが、それらはすべて同じルートドメインから離れている必要があります(site1.foo.comとsite2.foo.comは問題ありませんが、site1.comとsite2.comは機能しません)。

  2. すべてのサイトで同じCookieを復号することができるため、すべて同じマシンキーを共有する必要があります。詳細については、https://technet.microsoft.com/en-us/library/cc755177(v=ws.10).aspxを参照してください。

現在、すべてがローカルホストから実行されているため、#2が問題である可能性があります。ただし、導入時には#1を覚えておいてください。

関連する問題