One of the features of .NET 2.0 that I am excited about is the provider design pattern (This site is active but empty. I plan to document as much as I can about providers on it as a way to help the community). I decided that today I would begin looking at what it will take to use this in the applications we build at Idaho Commerce and Labor. We plan to take advantage of this model as a way to share users, sessions, navigation and more across applications. We need to investigate the security issues related to this of course.
So far I have discovered that the SQL providers can be installed with a utility called aspnet_regsql.exe in the %windir%\Microsoft.NET\Framework\v2.0.40607 folder. I called my database Credentials since I was planning on working with Membership. Now that is is created I see that it installs all of the SQL providers.
The tables I understand: Membership, Personalization, Profile, Roles, Site Counters, Users, UsersInRoles
There are other tables in the database as well that I assume are for some management and other purposes. These include Applications, Paths, and WebEvent_Events.
What I do not see here is Sessions and Navigation. I imagine that like .NET 1.x SQL Session state is a separate script to run. More on that when I get to exploring the Session State provider. As far as providers for navigation, I imagine that will be something custom I get to build.
I am now curious to see how this default SQL provider and its database will work when I point multiple applications at at. What can and can't be shared. Then I have to ask what should and should not be shared?