Hi makkus, I have opened an jira issue for further investigation: https://jira.apache.org/jira/browse/TOMEE-2709
Could you upload the source code, you used for creating the WAR archive
there?
It could be beneficial, if we are going into debugging this issue.
In addition, I can confirm, that this happens on M3 and Final.
Best,
Richard
-----------
Thanks for this, Marcus! I've asked the development community to look into
it. Please be patient as it can take a while to figure these things out.
On Mon, Oct 14, 2019 at 5:14 AM makkus <[hidden email]> wrote:
> Hi Folks,
>
> in TomEE 8.0.0 there seems to be something wrong with the Principal
> injection: The follwoing code works fine in M2:
>
> package leaktest;
>
> import java.security.Principal;
> import javax.enterprise.context.RequestScoped;
> import javax.inject.Inject;
> import javax.inject.Named;
>
> @Named
> @RequestScoped
> public class PrincipalTest {
>
> @Inject
> private Principal principal;
>
> public String userName(){
> return principal.getName();
> }
> }
>
> Inside a JSF page I can use "User Name: #{principalTest.userName()}" to
> display the user name. (See attached leak2.war
> <http://tomee-openejb.979440.n4.nabble.com/file/t376354/leak2.war> or
> https://1drv.ms/u/s!AlHB9FAlFWW_iLJlTcyBEqApE_UAvQ?e=HODheK for example. )
>
>
> In 8.0.0. this is code will produce an IllegalArgumentException:
>
> java.lang.IllegalArgumentException: object is not an instance of declaring
> class
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>
>
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.base/java.lang.reflect.Method.invoke(Method.java:566)
>
>
> org.apache.openejb.cdi.ManagedSecurityService$PrincipalInvocationHandler.invoke(ManagedSecurityService.java:183)
> com.sun.proxy.$Proxy72.getName(Unknown Source)
> leaktest.PrincipalTest.userName(PrincipalTest.java:25)
>
>
> leaktest.PrincipalTest$$OwbNormalScopeProxy0.userName(leaktest/PrincipalTest.java)
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>
>
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>
>
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> java.base/java.lang.reflect.Method.invoke(Method.java:566)
> javax.el.BeanELResolver.invoke(BeanELResolver.java:158)
> ...
>
>
> Doese someone kow if this code is unsupported in 8.0.0 ? How can I get a
> reference to the principal name in 8.0.0.
>
> Best Regards,
> Marcus
>
>
>
>
> --
> Sent from:
> http://tomee-openejb.979440.n4.nabble.com/TomEE-Users-f979441.html
>--
Richard Zowalla, M.Sc.Research Associate, PhD Student | Medical Informatics
Hochschule Heilbronn – University of Applied SciencesMax-Planck-Str. 39 D-74081
Heilbronn phone: +49 7131 504 6791mail: [email protected]:
http://www.mi.hs-heilbronn.de/
smime.p7s
Description: S/MIME cryptographic signature
