Why does asp.net membership have a users table and a membership table?

.net, asp.net, asp.net-membership

Solution

It's to separate identity/authentication management from membership management. The "big" user table is the actual identity repository - e.g., if you want to use SQL to store your identity data, it all goes in here. But you may want to use some other source - say, Active Directory - to be your identity repository. You validate identity and authentication against that instead, but you still need to have some way to join the SQL-based role/membership data to the AD-based identity data. That's where the smaller table comes in - just enough info to maintain those relationships.

Problem

Why do they split up the users stuff into 2 tables? Like they got aspnet_ membership and aspnet_users. Is it just because the membership stuff they have is so long?

Original source