Project Description

This project contains code that can extent an existing ASP.NET web application to emulate the single sign-on functionality of a Jasig Central Authentication Service (CAS).

The Jasig Central Authentication Service (CAS) is an open-source authentication system for web applications. It's written in Java and usually runs within an Apache Tomcat infrastructure.

The very common usage of Jasig CAS is to connect different web applications within a single sign-on context. It does this by providing one central logon page for all integrated web apps. So instead of showing up its own logon screen, each app redirects the user to the CAS logon page. After a successful logon the user is than redirected back to the originating page. To make this save, some additional "under the hood" communication is needed.

There are many Jasig CAS client libraries available for almost any sorts of software, of course including Java and .Net development. And many existing web applications (commercial and open-source) can be configured to communicate as a client with a Jasig CAS server.

This Project does not focus on the client side, instead it shows how to emulate the server side of Jasig CAS authentication based on ASP.NET.

This project does not include any software developed by Yale University or JA-SIG Inc. nor is it a simple Java to C# translation of the original software.
The C# classes here are completely redesigned only based on the official Jasig CAS Protocol description.

Who needs this?

Let's assume you already have a rich ASP.NET Web Forms application up and running, with a stable and reliable authentication mechanism, based on a large user database. And now you want to integrate another web application, for example a commercial Wiki software, within the same single sign-on context. If it is a well-established Wiki, it probably can be configured to authenticate with Jasig CAS. So that's the way to go.

But you don't want to set up yet another server, and moreover you don't want to rebuild the whole authentication system of your existing web application. In this situation the easiest way might be to extend your existing logon mechanism based on ASP.NET, and make it behave like an original Jasig CAS server.

This project here does not show how to emulate the complete functionality of Jasig CAS. It doesn't make sense to reinvent the bicycle. But for many single sign-on purposes only a small subset of the Jasig CAS protocol is needed.

Quick Links

Jasig CAS Home
Jasig CAS Protocol description

Last edited Jul 8, 2010 at 7:43 AM by UliTrampe, version 4