The only change I see for this is a PatternMatcher implementation that ignores case (maybe the existing class supports it via an additional attribute. Nothing else needs to change I don't think, right?
There is probably no need to preemptively normalize/lower-case pattern definitions because the PatternMatcher would do that in its implementation. That is, it is the PatternMatcher's responsibility for this logic rather than the IniShiroFilter. My desire is to not permanently change the user's config in any way, and instead rely on logic to do it as necessary. Retaining original config is good IMO since we can reference it in log messages, exceptions, output streams, etc, without confusing the user. My .02, Les
