Membership, in a nutshell, is a framework built into the .NET Framework that supports creating, authenticating, deleting, and modifying user account information. Each user account
has a set of core properties: username, password, email, a security question and answer, whether or not the account has been approved,
whether or not the user is locked out of the system, and so on. These user-specific properties are certainly helpful, but they’re
hardly exhaustive–it’s not uncommon for an application to need to track additional user-specific properties. For example, an online
messageboard site might want to also also associate a signature, homepage URL, and IM address with each user account.
There are two ways to associate additional information with user accounts when using the Membership model. The first–which affords
the greatest flexibility, but requires the most upfront effort–is to create a custom data store for this information. If you are
SqlMembershipProvider, this would mean creating an additional database table that had as a primary key the UserId value from
the aspnet_Users table and columns for each of the additional user properties. The second option is to use the Profile system, which allows additional user-
specific properties to be defined in a configuration file. See Part 6 for an in-depth look at the Profile system.
This article explores how to store additional user information in a separate database table. We’ll see how to allow a signed in user
to update these additional user-specific properties and how to create a page to display information about a selected user. What’s
more, we’ll look at using ASP.NET Routing to
display user information using an SEO-friendly, human-readable URL like www.yoursite.com/Users/username. To read the entire article,
Storing Additional User Information with ASP.NET Membership, click here.