Hi, i would like to extend a session (metadata) with scope of user logged in. Something like "allowed countries", "allowed companies" and so on. That scope is provided by a spring bean (UserScopeFinder). This bean is created in a Configuration as a @Bean.
What i tried so far is add an ISessionListener to WebApplication and inject the UserScopeFinder. <code> @com.giffing.wicket.spring.boot.context.extensions.ApplicationInitExtension public class AuthorizationInitializer implements com.giffing.wicket.spring.boot.context.extensions.WicketApplicationInitConfiguration { @Override public void init(WebApplication webApplication) { IAuthorizationStrategy strategy; strategy = new ApplicationAuthorizationStrategy(new UserRolesAuthorizer()); webApplication.getSecuritySettings().setAuthorizationStrategy(strategy); webApplication.getSessionListeners().add(new UserScopeInjector()); } } public class UserScopeInjector implements ISessionListener { @SpringBean(name = "userScopeFinder") private UserScopeFinder userScopeFinder; public UserScopeInjector() { super(); Injector.get().inject(this); } @Override public void onCreated(Session session) { System.out.println("Works"); } } </code> But in that case i get: <error> ... Caused by: java.lang.RuntimeException: error while injecting object [my.app.core.wicket.authorization.UserScopeInjector@283465af] of type [my.app.core.wicket.authorization.UserScopeInjector] at org.apache.wicket.injection.Injector.inject(Injector.java:122) at org.apache.wicket.spring.injection.annot.SpringComponentInjector.inject(SpringComponentInjector.java:124) at my.app.core.wicket.authorization.UserScopeInjector.<init>(UserScopeInjector.java:17) at my.app.core.wicket.authorization.AuthorizationInitializer.init(AuthorizationInitializer.java:19) at com.giffing.wicket.spring.boot.starter.app.WicketBootSecuredWebApplication.init(WicketBootSecuredWebApplication.java:83) at org.apache.wicket.Application.initApplication(Application.java:762) at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:441) ... 47 common frames omitted Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:931) at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:631) at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) at net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:332) at net.sf.cglib.proxy.Enhancer.generate(Enhancer.java:492) at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96) at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94) at net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) at net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119) at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:294) at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:480) at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:305) at org.apache.wicket.proxy.LazyInitProxyFactory.createProxy(LazyInitProxyFactory.java:191) at org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getFieldValue(AnnotProxyFieldValueFactory.java:166) at org.apache.wicket.injection.Injector.inject(Injector.java:111) ... 53 common frames omitted </error> I'm a little bit lost, if my strategy is working in common. Has someone maybe an example for me? Thanks for your support Per --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org