I've made a couple changes in security behavior in 2.2, see GERONIMO-4155 and GERONIMO-4778.

1. Previously it was possible to set a run-as role on a component (servlet or ejb) and not define an identity corresponding to the run- as role. The effect was that the run-as role setting was ignored. This has been changed to throw and IllegalArgumentException when no identity for the run-as role is discovered. I also updated the javadoc a bit to explain this behavior.

2. The servlet spec is silent on what effect, if any, a servlet run-as role has on a dispatch to another servlet. Since access decisions are only evaluated for the servlet that maps to the original request, and not any subsequent dispatches, this only affects stuff like isUserInRole(foo) calls in the dispatched-to servlet. After some conversations with Ron Monzillo I think we agree that the best behavior would be for the run-as role to apply to the dispatched-to servlet. This is now implemented.

thanks
david jencks

Reply via email to