In short, this is simply a pass-through web service membership provider and role provider library. I've taken advantage of the 2.0 membership provider model to allow pre-existing applications to easily integrate this library. The idea is to have one centrally hosted asp.net web application containing all the user accounts that will be shared among many other applications and provide a web service for those applications to use its authentication functions. The download includes: a sample host server, provider client libraries, sample web client, and sample windows client.Notes
Originally I built this application to be the central authentication system of about ten or so in-house applications. All these ran on a local intranet, and I was tired of handing out ten usernames and passwords for each person to login to each application, so I designed a system similar to this one (using .NET 1.0 and web services). The solution worked great for our local and remote users.
So now I've designed a new set of applications taking advantage of the built-in membership provider model and web services in .NET 2.0. The idea is to link all your internal .net driven applications to authenticate with one system and allow remote users use the same user base. It's geared for web applications, but can be used for windows desktop applications with access to the host web services. Thanks to Rob Conery and contributors to SubSonic! I used SubSonic 2.0 for my data access layer in these projects.
Beta Testers and feedback are welcome. I'd like to hear what people have to say. Is this something you can use? If someone already has something like this, how does it compare? etc.
Here's a diagram showing the basic application architecture of this solution.