P.s. slightly offtopic for CDI spec itself, but:
A small workaround is to @Inject SecurityContext context; and then:
MyPrincipal principal = (MyPrincipal ) context.getCallerPrincipal();
Thinking of it, maybe I can make the getCallerPrincipal() a generic method,
so one can do:
MyPrincipal principal = context.getCallerPrincipal();
Kind regards,
Arjan Tijms
On Wed, Apr 26, 2017 at 4:38 PM, Romain Manni-Bucau <rmannibucau(a)gmail.com>
wrote:
Hi John,
agree CDI/security integration (mainly through Principal bean) is
completely unusable in practise cause Principal type is too simple (name
only) and casting is needed in 99.99% of apps. AFAIK It is tracked at
https://issues.jboss.org/browse/CDI-597.
Romain Manni-Bucau
@rmannibucau <
https://twitter.com/rmannibucau> | Blog
<
https://blog-rmannibucau.rhcloud.com> | Old Blog
<
http://rmannibucau.wordpress.com> | Github
<
https://github.com/rmannibucau> | LinkedIn
<
https://www.linkedin.com/in/rmannibucau> | JavaEE Factory
<
https://javaeefactory-rmannibucau.rhcloud.com>
2017-04-26 15:54 GMT+02:00 John Ament <john.ament(a)spartasystems.com>:
> Hey guys
>
>
> I raised a bug against the Weld guys, but think its worth an EG
> discussion. When a Principal object is injected, the only type it has is
> Principal. It does not retain the actual type used at runtime. This threw
> me off on some Keycloak integration I'm working on (in $dayjob). So I was
> wondering, is this expected from our POV or should it retain the types of
> the actual runtime instance?
>
>
> John
>
> ------------------------------
> NOTICE: This e-mail message and any attachments may contain confidential,
> proprietary, and/or privileged information which should be treated
> accordingly. If you are not the intended recipient, please notify the
> sender immediately by return e-mail, delete this message, and destroy all
> physical and electronic copies. Thank you.
>
> _______________________________________________
> cdi-dev mailing list
> cdi-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/cdi-dev
>
> Note that for all code provided on this list, the provider licenses the
> code under the Apache License, Version 2 (
http://www.apache.org/license
> s/LICENSE-2.0.html). For all other ideas provided on this list, the
> provider waives all patent and other intellectual property rights inherent
> in such information.
>
_______________________________________________
cdi-dev mailing list
cdi-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/cdi-dev
Note that for all code provided on this list, the provider licenses the
code under the Apache License, Version 2 (
http://www.apache.org/
licenses/LICENSE-2.0.html). For all other ideas provided on this list,
the provider waives all patent and other intellectual property rights
inherent in such information.