Hello jsecurity devs,

I'm working on an initial integration of jsecurity with Tapestry5 as a proof
of concept. I'm especially keen on your flexible, built-in support for
instance-based security. With a considerable amount of hammering, I
implemented instance-based security for previous version of Trails framework
(which I'm a committer of) using Acegi (see for example
http://trailsframework.org/Security+module) and now I'm back for more :).
I've been an Acegi/Spring user for years but in an effort to reduce the
clutter and the "weight of history", I'm trying to remove dependencies to
them. Also, Acegi committers are very reluctant to change the existing
implementation even when it would make perfect sense (e.g.
http://jira.springframework.org/browse/SEC-517). As a first cut, I've
implemented basic url-based configuration and permission for Tapestry5 using
JSecurity. However, it wasn't quite as simple as I would have hoped for.
>From my perspective, a little bit of refactoring would make your framework
better suited for many different cases. For instance it'd be so much nicer
if IniWebConfiguration would use composition for the ini files rather rather
than inheritance. Right now, I either need to inherit from
IniWebConfiguration (my Tapestry integration doesn't use the ini) and accept
lots of unnecessary operations or copy and paste several operations.
Similarly, it'd be much nicer if you custom types such as
SecurityFilterChain rather List<Filter> so it's extensible and can carry
more information (such as path-specific filter config). Finally, there's a
few places where you are doing new Object() & setObject() within the same
operation, again making it more difficult to extend the framework and
specifically for applying dependency injection. I'm not suggesting any
changes specifically for Tapestry integration.

Basically I'm polling your interest of accommodating internal change
requests. If you are already gearing up towards stable 1.0 release you might
not be interested or not have time for it, but if you welcome improvement
suggestions on internals of the framework, I'd be happy to work with you.
While I can get this done either way (and not absolutely sure yet if
jsecurity will fullfill my needs) and I don't particularly care where the
code resides, I'm interested in getting the changes into jsecurity for
maintainability reasons. The less code I have in the integration module, the
more likely it is to continue working with newer versions of jsecurity
without changes. Let me know, and we can figure out the best way to interact
- I can open issues, create patches, let you guys browse the code of current
integration module or whatever else.

Kalle

Reply via email to