ASP.NET IDを持つ2つのプロジェクトでユーザーログインを重複してください
-
21-12-2019 - |
質問
私はASP.NET ID
で理解できない問題があります次の手順を適用します。
- 2つの空のWebプロジェクトを作成し、名前があります。
- webApplication1
- webApplication2
- パッケージのインストール " Microsoft ASP.NET IDサンプル2.0.0-Beta2 "
- 2つのSQLデータベースには、次の名前があります。
- webdatabase1
- webdatabase2
- addユーザーは webApplication1 に " user1 "という名前を持っています
- addユーザーには " webApplication2 の" user2 "があります。
- 同じ>同じ時間で2つのプロジェクトを実行します。
私の問題は、 " webApplication1 "
で " user1 "でログインするときです。私は webApplication2 が user1 で記録されています。
各プロジェクトにもかかわらず別々のデータベースがあります。
そして webApplication2 。
問題は何ですか?
私の悪い英語を言い訳!
解決
ユーザがサイトにサインインすると、Authミドルウェアはログインしたユーザ情報(ID、名前、ロールを含む)を暗号化された認証Cookieにシリアル化します。その後の訪問では、フレームワークはデータベースを押さずにその情報を復号化して読み取るだけです。
デフォルトでは、同じCookie名がASP.NETアプリケーション間で使用されます。あなたが見ているのは、webApp1を設定し、WebApp2を読んでいます。これは、それらが同じドメイン(またはlocalhost)上にあるため、クッキーは同じドメイン上のリソース間で共有されているためです。
アプリケーションでCookie名を変更してみてください...
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
// ...
CookieName = "WebApp1AuthCookie"
});
. 所属していません StackOverflow