You can use aps.net membership feature. Search for "asp.net membership tutorial".
As for email validation or confirmation (I can't remeber if this feature comes out of the box), I suggest to use a secret to generate a hash of email address and send that as a part of your confirmation url. That way you won't need to keep state on the server. Here is an example pseudo code:
email = "example@example.com"
secret = "somesecretstring"
hash = md5(email + secret)
link = "http://example.com/confirmation.aspx?email=" + email + "&hash=" + hash
So on the confirmation page you can do the same thing and verify the hash and then flag the account as active using the membership api.
Good luck.
--ziya