In the standard forms authentication, users are identified by a Guid. I want to give my users an UserId of type int (doesn’t have to be the primary key, just something to do lookup’s on).
Is it safe to add an additional column to the aspnet_users table, or should I create a new table which FKs to the UserId column and has a Unique column which generates the integer ID?
The later sounds like a bad performance hit to take just for the sake of an int!
EDIT
I want to create URLs like those on stackoverflow. eg. https://stackoverflow.com/users/23590/greg-b where the User ID is an int. For that reason I don’t want to use Guids.
I’d create profiles and store the associated urlID there. Web Forms don’t have Profiles available out of the box, but you can see a workaround here:
http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx
The advantage of using Profiles is that you can tap into all the existing logic and won’t have to write as much custom code yourself, aside from constructing the URL.
You could combine this with Routing for friendly URLs, if you’re using ASP.NET 3.5 or up.
UPDATE: kinda similar question:
Shorter GUID using CRC