[jboss-as7-dev] Management Console JDK Server Example
Jason T. Greene
jason.greene at redhat.com
Thu Jan 20 14:43:04 EST 2011
On 1/20/11 11:02 AM, ssilvert at redhat.com wrote:
> Quoting Jason Greene <jason.greene at redhat.com>:
>
>> On Jan 20, 2011, at 7:55 AM, ssilvert at redhat.com wrote:
>>
>>> I don't want to reinvent the Servlet API either.
>>
>>
>> It's not reinventing the servlet API, it's using an alternative one
>> that accomplishes then same thing but with minimal overhead.
>
> If that can really be achieved in a reasonable time frame then I'm all
> for it. I'm just skeptical at the moment.
>
> Heiko's point about needing a robust security layer like JAAS is a
> pretty good one.
>
So servlet containers give you a set of pre-established authentication
mechanisms:
- Basic
Implemented in the embedded server (Although this one is very easy to
write even if we had to do it)
- Digest
Digest causes problems in multi-layer auth scenarios since its
designed around 2-party communication. Although we could still use it
regardless, granted it requires more work than a servlet container (you
have to implement an Authenticator to do it)
- Cert
The embedded server provides the hooks to use JSSE for establishing
the connection. There you can tell it to require a Cert. You would then
implement an Authenticator that just read the cert off the current
SSLSession and passed it off to JAAS or picketlink or whatever
- Form
This form of auth is pretty much useless. Almost everyone prefers
something custom to the cookie-cutter servlet form
To go beyond these things you have to either not use servlet security
(and instead do custom servlet filters) OR write a container specific
plugin (like a tomcat valve). Once you get to this point it's equivalent
to implementing security directly.
Also, keep in mind that most likely the DC will have to be the one doing
the "true" authentication, or at least redundant authentication. The
primary reason for this is both auditing, and to allow the same
credentials to be used via the CLI and the web app. So this means the DC
will already have to be written to auth somehow (using picketlink or
whatever)
--
Jason T. Greene
JBoss, a division of Red Hat
More information about the jboss-as7-dev
mailing list