Search code examples
asp.netasp-classicdotnetopenauthsingle-sign-onopenid-provider

Implementing Single Sigon for ASP.NET and Classic ASP websites


We have two old websites in Classic ASP and few websites in ASP.NET 2.0. Our new development is in ASP.NET as well and gradually we might be moving our Classic ASP sites to .NET as well. All these websites use same back-end database.

For now we are planning to move our user authentication to a single server and start using Single-Sign-On(SSO). I am not able to decide what would be the best or right way. Our asp.net websites uses FormsAutentication with CustomMembership and RolesProvider i.e. we use our custom tables instead of default aspnet_membership tables.

Ways I can think:

1: Use Webservice: I can move the authentication code to a webservice and all of our sites can use it. But I am not sure how the Single-Sign-on fits in when we have ClassicASP sites involved.

2: I heard of DotNetOpenAuth: Our external users are created by our internal staff. They can only login using the username/password we provide. So they cannot login using Google,Yahoo or any other username/passwords. So I am not sure if DotNetOpenAuth fits in our case. I saw SSO sample in DotNetOpenAuth download but have no clue how to begin.

If anyone can point me in right direction please. I have gone through various articles and docs but not getting a clue where to begin.


Solution

  • Checkout this guide on "Claims-based Identity and Access Control". The chapter 3 especially: "Claims-based Single Sign-on for the Web and Windows Azure" (Azure is not a requirement).

    It well explains the modern Microsoft's way of implementing a single sign-on strategy.

    Plus, this TechNet article helped us a lot to get started with WIF and ADFS 2.0.