3

我有一個問題,我不能在asp.net的身份瞭解重疊用戶登錄與ASP.NET識別兩個項目

應用以下步驟

  1. 創建兩個空的Web項目,他們的名字:
    • WebApplication1
    • WebApplication2
  2. 安裝PA ckage 「微軟ASP.NET身份樣本2.0.0-β2」 在每個項目
  3. 創建兩個SQL數據庫的名稱如下:
    • WebDatabase1
    • WebDatabase2
  4. 添加用戶名「用戶1」 在WebApplication1
  5. 添加用戶名「用戶2「in WebApplication2
  6. 運行兩個項目在同時

我的問題是,當我在 「WebApplication1」 登錄的 「用戶1

我發現WebApplication2登錄與用戶1

儘管每個項目都有單獨的數據庫。

而且還沒有用戶1Web應用程序2

什麼問題?

請原諒我英語不好!

回答

5

當用戶登錄該站點時,auth中間件將登錄的用戶信息(包括id,名稱和角色)序列化到加密的auth cookie中。在隨後的訪問中,框架只需解密並讀取該信息而不觸及數據庫。

默認情況下,跨ASP.NET應用程序使用相同的cookie名稱。您看到的情況是WebApp1設置cookie,WebApp2讀取它。這是因爲它們位於同一個域(或本地主機)上,並且cookie在同一個域上的資源之間共享。

嘗試在你的應用程序更改cookie名稱...

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