All --

I went ahead and did something I've been meaning to do for a while: eliminate the dependency on JAAS configuration from JSPWiki. The idea was to get rid of the tweaks and hacks we use to configure the login process, and eliminate a bunch of configuration hassles.

It's all ready to go: code, unit tests, javadoc and jspwiki comments. All I need is a 2.8 branch to put it in.

Some more information about the refactoring:

The technique I've employed does three things: it refactors AuthenticationManager, adds some responsibilities to WikiServletFilter, and moves configuration of the login process to jspwiki.properties. Best of all: the API changes are fairly small, and we re-use the existing LoginModules.

The upsides to the new approach are many:
- Elimination of the need to configure JAAS at runtime
- Maintains backwards compatibility with any existing third-party LoginModules that may have been developed for JSPWiki - Adds the ability to use MORE LoginModules with JSPWiki (because we move responsibility for adding/deleting JSPWiki Roles out of the LoginModules, and into AuthenticationManager) - Removes the last barrier for "drop-in" deployments on ALL containers (no need to worry about JAAS configuration)

There are very few downsides, other than the fact that WikiContext loses a few methods that were only used by one or two callers, and were only public because of package boundaries.

Andrew

Reply via email to