Folks,

OK.  After regrouping and going after a more .Net approach, the
current sandbox builds and authenticates against CAS 1.0 protocol.
The sample web app in the project can be configured (web.conf) to
point to a CAS server of your choosing so you can quickly test it out
and step through the client code.  There is still much to do, and
we're a long way off of anyone putting this into production...but we
may have a decent path now.

http://developer.jasig.org/source/browse/jasigsvn/sandbox/JasigCasClient

I tried to simplify things a bit and cut down on the abstract layers
in the Java version.  We may need to add them back in as the protocol
support grows, but I'd rather start simple and get it working.  The
key parts to look at if you are interested are:

JasigCasClient.CasAuthenticationModule - this is the main client class
and the only HttpModule

JasigCasClient.Security
  ICasPrincipal
  CasPrincipal
  IAssertion
  Assertion

JasigCasClient.Validation
  ITicketValidator
  AbstractUrlTicketValidator
  Cas10TicketValidator

Still left to do:
* CAS 2.0 and proxy tickets
* Unit tests, unit tests, unit tests
* A good set of .Net FormAuthN integration tests
* SAML
...

We might need to start thinking about a JIRA instance.

Cheers,
Bill

On Thu, Mar 26, 2009 at 2:05 PM, William G. Thompson, Jr.
<wgt...@gmail.com> wrote:
> Folks,
>
> Initially when I started the port of the Java CasClient to .Net I
> assumed since HttpModules are analogous to ServetFilters that it would
> be relatively straight mapping from Filters to HttpModules.  However,
> as I dig deeper into .Net and the HttpRequest/FormsAuthentication
> lifecycle this turns out not to be so simple.  For one, HttpModules
> and ServletFilters are not exactly at the same level of abstraction,
> HttpModules being a bit lower level (i.e. HttpSession may not be
> available depending on what events have fired).  The other
> complication is the HttpApplication pipeline itself, which fires a
> mess of events and may make multiple calls into individual Modules
> which is a different behavior than Filters.
>
> So, I'm started to come around to the approach taking by the
> FormApplicationModule itself, as demonstrated by Reflector, Mono[1],
> and Michael Barton.  I think we end up with one CasHttpModule that
> handles two events and is configured with the Cas specific components
> for handling ticket validation and setting up Context.User.
>
> I'd like to end up at place that has these characteristics:
>  1) dead simple easy deploy (drop in dll, a few web.conf settings)
>  2) excellent integration with .Net framework (Context.User, etc.)
>  3) feature/quality parity with Java client (good unit tests, support
> for saml, etc)
>
> Thoughts?
>
> Bill
>
> [1] Mono FormsAuthenticationModule:
> http://www.koders.com/csharp/fid4BEDC51250B2B507391467CF38C6F5F600579CCD.aspx
>

-- 
You are currently subscribed to cas-dev@lists.jasig.org as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-dev

Reply via email to