Adding Attributes to the Principal

Scott Battaglia scott.battaglia at gmail.com
Mon Sep 17 10:23:52 EDT 2007


Marat,

There is currently no officially modified response format that supports
attributes.  I'm working on updating the JA-SIG CAS Client for Java to
utilize the SAML response.

-Scott

On 9/16/07, Marat Radchenko <slonopotamusorama at gmail.com> wrote:
>
> Is there any "official" modified response format that supports attributes?
>
> 2007/9/16, Scott Battaglia <scott.battaglia at gmail.com>:
> > Ross,
> >
> > The AuthenticationManager is the portion of CAS that constructs the
> > Principal.  You'll need to configure your custom authentication handler
> and
> > your CredentialsToPrincipalResolver in the deployerConfigContext as part
> of
> > the AuthenticationManager.
> >
> > You'll also need to use either the SAML 1.1 response or a modified CAS
> 2.0
> > response so that your client can actually retrieve the attributes.
> >
> > The CAS 2.0 responses are JSP pages that you can modify located in the
> > WEB-INF/views/jsp/protocol/2.0 directory.
> >
> > -Scott
> >
> >
> > On 9/14/07, Ross Bleakney <rossbleakney at hotmail.com> wrote:
> > >
> > >
> > > I would like to return more than the user name from the server. So, I
> > changed my authentication handler to do the following:
> > >
> > > public class MyHandler implements AuthenticationHandler{
> > >     public boolean authenticate(Credentials cred) throws
> > AuthenticationException {
> > >         UsernamePasswordCredentials upCred =
> (UsernamePasswordCredentials)
> > cred;
> > >
> > >         String username = upCred.getUsername();
> > >         String password = upCred.getPassword();
> > >         try {
> > >             MyAccount account = MyAccount.authenticate(username,
> > password);
> > >
> > UsernamePasswordCredentialsToPrincipalResolver resolver =
> > >                new
> > UsernamePasswordCredentialsToPrincipalResolver();
> > >             Principal principal = resolver.resolvePrincipal(upCred);
> > >             StubPersonAttributeDao stub = new
> StubPersonAttributeDao();
> > >             HashMap<String, Object> map = new HashMap<String,
> > Object>(principal.getAttributes());
> > >             map.put("AccountID", account.getAccountID());
> > >             stub.setBackingMap(map);
> > >             resolver.setAttributeRepository(stub);
> > >         } catch (Throwable e) {
> > >             return false;
> > >         }
> > >
> > >         return true;
> > >     }
> > >     ...
> > > }
> > >
> > > So, now I have a few questions:
> > >
> > > 1) Should this work?
> > > 2) How do I get the information out on the client side (servlet)?
> > >
> > > I can get the receipt from the client side (using
> > session.getAttribute(CASFilter.CAS_FILTER_RECEIPT)), but I don't know
> how to
> > resolve that into a set of attributes. If I just had a lump of xml, I
> could
> > easily parse through it, but I don't know how to get that.
> > >
> > > Thanks,
> > > Ross
> > > ________________________________
> > Gear up for Halo(r) 3 and get a $25 Best Buy gift card. It's our way of
> saying
> > thanks for using Windows Live™. Get it now!
> > > _______________________________________________
> > > Yale CAS mailing list
> > > cas at tp.its.yale.edu
> > > http://tp.its.yale.edu/mailman/listinfo/cas
> > >
> > >
> >
> >
> >
> > --
> > -Scott Battaglia
> >
> > LinkedIn: http://www.linkedin.com/in/scottbattaglia
> > _______________________________________________
> > Yale CAS mailing list
> > cas at tp.its.yale.edu
> > http://tp.its.yale.edu/mailman/listinfo/cas
> >
> >
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>



-- 
-Scott Battaglia

LinkedIn: http://www.linkedin.com/in/scottbattaglia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://tp.its.yale.edu/pipermail/cas/attachments/20070917/722292e3/attachment.html 


More information about the cas mailing list