質問

私はASP.NET ID

で理解できない問題があります

次の手順を適用します。

  1. 2つの空のWebプロジェクトを作成し、名前があります。
    • webApplication1
    • webApplication2
  2. パッケージのインストール " Microsoft ASP.NET IDサンプル2.0.0-Beta2 "
  3. 2つのSQLデータベースには、次の名前があります。
    • webdatabase1
    • webdatabase2
  4. addユーザーは webApplication1
  5. に " user1 "という名前を持っています
  6. addユーザーには " webApplication2
  7. の" user2 "があります。
  8. 同じ>同じ時間で2つのプロジェクトを実行します。
  9. 私の問題は、 " webApplication1 "

    で " user1 "でログインするときです。

    私は webApplication2 user1 で記録されています。

    各プロジェクトにもかかわらず別々のデータベースがあります。

    そして webApplication2

    問題は何ですか?

    私の悪い英語を言い訳!

役に立ちましたか?

解決

ユーザがサイトにサインインすると、Authミドルウェアはログインしたユーザ情報(ID、名前、ロールを含む)を暗号化された認証Cookieにシリアル化します。その後の訪問では、フレームワークはデータベースを押さずにその情報を復号化して読み取るだけです。

デフォルトでは、同じCookie名がASP.NETアプリケーション間で使用されます。あなたが見ているのは、webApp1を設定し、WebApp2を読んでいます。これは、それらが同じドメイン(またはlocalhost)上にあるため、クッキーは同じドメイン上のリソース間で共有されているためです。

アプリケーションでCookie名を変更してみてください...

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    // ...
    CookieName = "WebApp1AuthCookie"
});
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top