Also, do shout if you need any help. Jon
On Mon, Oct 14, 2019 at 2:09 PM Jonathan Gallimore < [email protected]> wrote: > I did crack the .war file open - it looks like this is a JSF application > that uses basic auth. The app uses a @RequestScoped bean which uses @Inject > to get a Principal: > > @Named > @RequestScoped > public class PrincipalTest { > @Inject > private Principal principal; > > public String userName() { > return this.principal.getName(); > } > } > > I suspect (but guessing) the MP-JWT Principal injection is having an > impact on this. > > Jon > > On Mon, Oct 14, 2019 at 12:44 PM Zowalla, Richard < > [email protected]> wrote: > >> Hi, >> >> I tested the attached WAR with M2,M3 and RELEASE, results below: >> >> - M2: works as stated by the user >> - M3: Exception as stated below by the user >> - Release: same as M3 (exception as stated below). >> >> Source-code would be beneficial for debug purpose :) >> >> Best, >> Richard >> >> >> >> Am Montag, den 14.10.2019, 06:11 -0500 schrieb Richard Monson-Haefel: >> >> It would be great if someone in the community could take a quick look at >> >> this and report back. It seems to be a bug, but I'm not sure. >> >> >> Anyone? >> >> >> ---------- Forwarded message --------- >> >> From: makkus <[email protected]> >> >> Date: Mon, Oct 14, 2019 at 5:14 AM >> >> Subject: CDI Principal injection: object is not an instance of declaring >> >> class >> >> To: <[email protected]> >> >> >> >> 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 Sciences >> Max-Planck-Str. 39 >> D-74081 Heilbronn >> phone: +49 7131 504 6791 >> mail: [email protected] >> web: http://www.mi.hs-heilbronn.de/ >> >
