Membership, in a nutshell, is a framework build 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 using the 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. Read on to learn more!
Read More >