My favorites | Sign in
Project Logo
                
People details
Project owners:
  matt.zukowski, jzylks
Project committers:
hfalaska, rubywmq, cmdjackryan

RubyCAS-Server is an implementation of the server-end of JA-SIG's CAS protocol, providing a cross-domain single sign-on solution for web applications.

Overview

RubyCAS-Server gives you:

Why you would want/need this:

CAS vs. OpenID

Without getting too deep into the details, CAS is likely the preferred choice over OpenID for large, top-down organisations who want to leverage an existing user base. For example, CAS is often deployed by universities that maintain a large, centralized database of users and provide services via a variety of platforms/frameworks.

However RubyCAS-Server is also used by many smaller community sites due to the server's ease of deployment over a comparable OpenID solution -- especially when RubyCAS is being wrapped around an existing user base. In other words, RubyCAS-Server may be worth looking at if you just want something quick and hassle-free.

The Full Explanation

The idea behind CAS is similar to the way Yahoo, Google, and other major portal sites allow the user to authenticate using a central welcome page. Your CAS server provides the login page where the user enters their username and password. After successful authentication, the server dishes out 'service tickets' that grant access to your CAS-protected services/sites. Your CAS-protected services never see the user's real credentials, and logging in to one service grants authentication for all other services. The user only sees the login page once, the first time they try to access a CAS-protected service -- hence "single sign-on".

RubyCAS-Server is designed to be easy to set up and customize. You do not need to know anything about Ruby to run the server. The front end (the central login page) can be skinned using CSS, and the back-end authentication method for validating usernames and passwords can be configured to use an existing SQL database, Active Directory, LDAP server, etc. For more information on the CAS protocol, have a look at the official JA-SIG CAS page. RubyCAS-Server is easiest to deploy on Linux systems, but should work fine on other platforms (e.g. Windows).

In order to make your services (i.e. your web applications) CAS-protected, each service will require some configuration. Generally this is done by installing a CAS client library. For example for a Ruby on Rails application, you'll have to install RubyCAS-Client, which essentially acts like a standard controller filter. For PHP, install esup-phpcas and include a small block of code at the top of your CAS-protected PHP pages. For Java-based frameworks, you'll have to install the Java CAS Client and add some XML to your app server's configuration. Have a look at the JA-SIG CAS clients page for information on clients for other frameworks (.NET, Perl, Zope, ColdFusion, etc.).

To get started quickly, have a look at the QuickStart wiki page for step-by-step installation and usage instructions.

RubyCAS-Server is implemented using the Camping microframework, and is designed for easy deployment either as a stand-alone server (via WEBrick or Mongrel) or under Apache (via Rack). It fully implements the CAS 3.3 protocol, with full support for proxy ticketing.









Hosted by Google Code