I apologise ahead of time for the lengthy post that follows, but I'm still 
failing to understand properly how CAS hangs together, specifically the 
authentication and the principals portions.

The way I understand this is this:

1.      We have the CAS server, which has an authentication manager.
2.      The authentication manager has a list of authentication handlers and a 
list of credential-to-principal resolvers, and can accept various types of 
credentials.
3.      For each authentication request, the authentication manager tries each 
authentication handler until one says 'yes, I can authenticate these 
credentials' and it successfully authenticates, or the list is exhausted.
4.      Then, depending on the type of authentication manager used (I noticed 
there are at least 3 by default), the authentication manager then either tries 
each credential-to-principal resolver that can resolve the principal from the 
credentials, or uses the corresponding credential-to-principal resolver for the 
authentication handler that successfully authenticated.
5.      The credential-to-principal resolver in turn resolves the credentials 
into a principal, which in turn is the username information in the credential 
plus a list of attributes that belong to that username. Is this correct?

And then... what happens? Is a ticket created, and the application (whichever 
that may be) can then use the ticket to retrieve the attributes for the 
information it needs?

What is set in the REMOTE_USER on the client when I use the default 
configuration? Nothing? Or does the application (i.e. the client of the CAS 
server) request the username for REMOTE_USER?

The reason I ask for this is... Would a resolver need to retrieve information 
by using the credential given, for example:

1.      I have a UsernamePasswordCredential (from the login form)
2.      I have the RADIUS authenticator that returns "yes, you're authenticated"
3.      As part of the successful authentication, the RADIUS server also 
returns a bunch of attributes, but from what I can see, the authenticator is 
not interested in those attributes, and simply looks at the authentication 
result (yes they successfully authenticated or not).

Must I then use a credential-to-principal resolver that 'magically' retrieves 
those attributes (possibly by authenticating a second time and retrieving those 
attributes), or can I create an authenticator that feeds those attributes 
directly into the attributeRepository, so that any CAS client after that can 
retrieve the username for the user that authenticated? Or am I mixing up the 
objects here?

In CAS 3.5.2 I tried to change the credentials object, but I think it causes a 
session exception (I see an exception every time after a successful 
authentication with this handler occurs, it's not the handler itself that 
dies). In CAS 4.0.0 I see it's now a username string and password string that 
are passed in (presumably to prevent the changing of the username and password 
inside the authenticator), so I'm trying to find the right way to do this.

Any suggestions are very much appreciated! :-)

Stefan Paetow
Software Engineer
+44 1235 778812
Diamond Light Source Ltd.
Diamond House, Harwell Science and Innovation Campus
Didcot, Oxfordshire, OX11 0DE




-- 
This e-mail and any attachments may contain confidential, copyright and or 
privileged material, and are for the use of the intended addressee only. If you 
are not the intended addressee or an authorised recipient of the addressee 
please notify us of receipt by returning the e-mail and do not use, copy, 
retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not 
necessarily of Diamond Light Source Ltd. 
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments 
are free from viruses and we cannot accept liability for any damage which you 
may sustain as a result of software viruses which may be transmitted in or with 
the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and 
Wales with its registered office at Diamond House, Harwell Science and 
Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
 




-- 
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