It seems I missread your post, I tought you would add another
authentication interface too ...

But I still don't like the interface :-)

I need to think about it.

I'm pretty sure we can use Policy, Permission, etc without a security
manager, and it would be better to go directly to use those.

One problem is in parameter passing ( since HttpServletRequest and
all other info must be available when making the policy decission ). 

The authentication layer should be able to return a Principal
that is associated with the request. And the authorization layer shouldn't
care about the request - only about the Principal and the required
permission.

In other words - all security constraints can be converted to Permissions
( no need for 3 methods in the interface - just one method that checks
a particular Permission ). 

The problem mentioned about JBoss is due to the fact that the authorization
layer calls the authentication ( this seems to be the case in your proposal
as well ). A request that doesn't have a security constraint will not try
to set the Principal. 

Costin
 

> since the last time I've  proposed to split
> Authentication/Authorization, we have moved to JMX Listerner as hooks
> and standardize on JMX, I would like to re-open the discussion on
> splitting the behaviour. Mainly, I would like to move three Realm
> methods into an Authorizer interface and use the current Valve mechanism
> as the first implementation.. The Authorizer will define:
> 
> public boolean
> hasResourcePermission(HttpRequest,HttpResponse,SecurityConstraint);
> public boolean
> hasUserDataPermission(HttpRequest,HttpResponse,SecurityConstraint);
> public boolean hasRolePermission(HttpRequest,
> HttpResponse,SecurityConstraint, String role);
> 
> I would like to see a clear distinction between Authorization and
> Authentication. That will also allow third party  implementation of JSR
> 115 (and the upcoming JSP on Authentication) to be more easily
> implemented in Tomcat.
> 
> The first implementation will be a re-factoring of the current code.
> Once completed, we should talk about having an JSR 115 implementation
> (requires by default the Security Manager) or something customized for
> Tomcat using JAAS.
> 
> The other solution is to move the Authenticator and Realm concept  into
> coyote as JMX listener and add the Autorizer logic there(will require a
> CoyoteChain or something simliar to StandardPipeline). It is a major
> refactoring and I cannot sign on a major task like that (but I can help
> if we decide its the best decision). But I would favor a Valve for now
> (the logic will be re-usable if we decide to move it into coyote).
> That's what we call the two phases commit :-)
> 
> Throughts?
> 
> -- Jeanfrancois



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to