Hello,

I would like to use Shiro within my JavaEE based web application.

User and credential data is stored inside a database. So I wrote my
own Realm, extending org.apache.shiro.realm.AuthorizingRealm.
This realm makes use of EJBs/JPA to read the data from the database.
An instance of this realm has to be placed in a DefaultWebSecurityManager.

To put all togehter, I would like to use the CDI/EJB facilities of the
JEE container. For this I added CDI annotations to my realm and to a
SecurityManagerFactory.
But trying to deploy this, I get an exception:


Caused by: org.jboss.weld.exceptions.UnproxyableResolutionException:
WELD-001437 Normal scoped bean class
org.apache.shiro.realm.AuthenticatingRealm is not proxyable because
the type is final or it contains a final method public final void
org.apache.shiro.realm.AuthenticatingRealm.init() - Managed Bean
[class de.reschif.security.ShiroRealm] with qualifiers [@Any
@Default].


The final method comes from org.apache.shiro.realm.AuthenticatingRealm.


How can I solve this problem to get my realm/its resources managed by
the container?


Regards,
Lars

Reply via email to