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/
>>
>

Reply via email to