Dot-Net

為什麼使用者資訊儲存在 ASP.NET 的預設 Membership Provider 的兩個不同的表中?

  • March 22, 2012

有兩個表:aspnet_users 和 aspnet_membership。誰能詳細說明他們不為此使用單個表的原因?

成員資格表包含與MembershipProvider API 介面相關的資訊。users 表儲存使用者名和使用者 id,它們是從許多提供程序中引用的。

  • 使用者

    • 會員資格 (MembershipProvider)
    • 配置文件(ProfileProvider)
    • 角色 (RoleManager)
    • ETC

aspnetdb 系統是非常模組化的,每個部分都可以通過各種供應商進行定制。這些表需要分開,以便每個介面都可以重寫、重定向等。

老實說,這對我來說也沒有多大意義。似乎 aspnet_Membership 表設置為容納使用者/應用程序級別資訊,但 UserID 是一個 PK。很奇怪。也許在以後的版本中,您確實為每個使用者擁有多個應用程序的情況進行了設置。

Dave 提到還有其他表(例如 aspnet_Profile)保存使用者特定資訊。可能是 ASP.NET 2.0 的人們只是試圖將不同的欄位分組分離成更容易理解的塊。

我知道這只是一堆猜想。希望有一些實際知識的人會加入。

引用自:https://stackoverflow.com/questions/794647