On 08/17/2016 01:02 PM, Brad O'Hearne wrote:
*/On Wed, Aug 17, 2016 at 10:31 AM, Richard Frovarp
<[email protected] <mailto:[email protected]>> wrote:
/*
*/I'm guessing that such a thing wouldn't exist in Apache Tomcat.
I'm not sure what you hope to gain by doing that. Surely each
context / application is going to have its own security needs. /*
Thanks for the reply. For my case -- in general, the needs for the
authentication/mechanism/ for any deployed web app is identical:
authentication against LDAP, success produces a token, subsequent
requests validate token, etc. There should be no variation between web
apps for how authentication works, the way a user is challenged for
credentials, the resulting data structures, etc.
Using CAS standardizes all of this.
The authorization /mechanism/ to access a particular web app should be
identical as well. Whether role- or group-based, the idea is the same
-- proper membership should allow access to a web app.
Using the same libraries in your applications handles this. I've got a
Apache Maven archetype that sets everything up for me automatically for
new project creation. I just need to then decide on which paths are
protected by which roles and permissions.
The configuration and management of both authentication and
authorization to access a web app ideally would be managed centrally,
in front- / outside- of any secured web apps (as far as user
information goes, for my situation that would all be managed in LDAP).
Right, CAS uses LDAP for authentication and attribute return for
determining authorization.
Where the security needs of different web apps diverge are in two areas:
1. As you say, the management of session state. I would expect that
if security enforcement occurred at the container level, it would
probably be logical that app-specific session state was sand-boxed
so other apps could not access it -- that would eliminate
concurrency issues. Session state shared across apps is debatable,
but if it were allowed, then obviously some synchronized access to
state would be required, but the focus here wasn't really to
figure out concurrency, but rather deployment and configuration.
Authentication and authorization information is shared in the session.
So this is what necessitates shared session state amongst all contexts.
1. Authorization of behaviors within an app. In this case, an app
would need to be provided access to identity-related authorization
info by the container (via the session), and then it could conduct
affairs for users as it saw fit for whatever the web app does.
That was the idea, and I was hoping that CAS could handle that. Having
to change source / configuration per each web app and rebuild / test /
deploy isn't optimal. But if CAS can't handle that, knowing this is
just as helpful. So thanks for your reply.....
It's not CAS that can't handle it. I have no idea how you would get that
work in Tomcat using any mechanism. Do you have it working now with
LDAP? What you're asking is really a Tomcat problem. Your best bet for
an answer on that would be to ask the Tomcat user mailing list over at
the ASF. They have the experts on how you would use a single
authentication and authorization method on a container and share that
information with all contexts. If they have a good answer for that, from
there it can be adopted to work with CAS.
You certainly could front it with HTTPD and use mod_auth_cas as
suggested by Carl. HTTPD would manage the auth session, and present
custom headers with attribute return info. From there the applications
could make authorization decisions. You'd be working with custom
headers, so you're rebuilding your code and/or putting auth handlers in
each web.xml anyway.
--
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/40957fc9-a422-7dbc-1059-df7142b0d75b%40ndsu.edu.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.