I had the opportunity and privilege yesterday to visit Eugene Oregon and present the MSDN event there. This quarter we're covering the 4th pillar of .NET 3.0 – CardSpace (the other 3 are Windows Presentation Foundation, Communication Foundation, and WorkFlow). There were lots of great questions and interest in the topic, with many questions about what it is and how it works.

One that struck me that I've asked myself is "How do I use CardSpace with ASP.NET 2.0's Membership provider?" Basically what you need to do is to provide a way to associate the CardSpace card with a user in the system. This can be accomplished by adding to the schema generated by the default SQL Membership Provider in SQL Server (the aspnetdb.mdb file automatically added). We add a table to hold the PPID of the card and the UserId for the specific user, and then alter some stored procedures to work with it. A great resource for this is Kevin Hammond's blog posting of a video that shows this being done. Rather than repeat that here I thought I'd give you the link (and a few more for good measure!)

    http://www.casadehambone.com/howtousewindowscardspacewithaspnetformsauthentication.aspx

    http://cardspace.netfx3.com

    http://identityblog.com

    http://perpetual-motion.com

Another question is what happens to Passport with the advent of CardSpace? That one is easy, they're different things and fit different purposes. Where Passport is an Identity Provider complete with a data store of lots of identity information; CardSpace is an Identity Selector. That means that CardSpace is a way we can link a card on your machine to a passport account.

On Thursday I'll be in Portland, so if you happen to be browsing this before then and stop by to say hi, let me know. I'd love to hear from you!

Happy Coding!