Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Auto Closed
-
7.0.3
-
None
-
None
-
None
Description
I have the following scenario:
Servlet -> EjbOne -> EjbTwo
My expectation is that @RunAs of the servlet will be propagated to EjbOne
and the @RunAs of the EjbOne will be propagated to @EjbTwo.
But this does not happen - see the output below. When i remove @RunAs
annotation from the servlet the @RunAs of EjbOne is propagated correctly.
Actual output:
EjbOne (Before EjbTwo) expected role: Manager, isCallerInRole("Manager"):
false
EjbOne (Before EjbTwo) expected role: Manager, isCallerInRole("VP"): false
EjbOne (Before EjbTwo) expected role: Manager,)
isCallerInRole("Administrator"): false
EjbTwo expected role: VP, isCallerInRole("Manager"): false
EjbTwo expected role: VP, isCallerInRole("VP"): false
EjbTwo expected role: VP, isCallerInRole("Administrator"): false
EjbOne (After EjbTwo) expected role: Manager, isCallerInRole("Manager"):
false
EjbOne (After EjbTwo) expected role: Manager, isCallerInRole("VP"): false
EjbOne (After EjbTwo) expected role: Manager,
isCallerInRole("Administrator"): false
Expected output:
EjbOne (Before EjbTwo) expected role: Manager, isCallerInRole("Manager"):
true
EjbOne (Before EjbTwo) expected role: Manager, isCallerInRole("VP"): false
EjbOne (Before EjbTwo) expected role: Manager,)
isCallerInRole("Administrator"): false
EjbTwo expected role: VP, isCallerInRole("Manager"): false
EjbTwo expected role: VP, isCallerInRole("VP"): true
EjbTwo expected role: VP, isCallerInRole("Administrator"): false
EjbOne (After EjbTwo) expected role: Manager, isCallerInRole("Manager"):
true
EjbOne (After EjbTwo) expected role: Manager, isCallerInRole("VP"): false
EjbOne (After EjbTwo) expected role: Manager,
isCallerInRole("Administrator"): false
Here is the source of the application: https://github.com/kal0ian/Examples