Ошибка после добавления бобов - PullRequest
0 голосов
/ 25 мая 2018

Я добавил 3 bean-компонента в XML-файл своих приложений

<bean id="rememberMeServices"
    class="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices">
    <property name="userDetailsService" ref="myUserDetailsService" />
    <property name="key" value="springRocks" />
</bean>

<bean id="rememberMeAuthenticationProvider"
    class="org.springframework.security.authentication.rememberme.RememberMeAuthenticationProvider">
    <property name="key" value="springRocks" />
</bean>

Кроме того, я добавил web-ресурс spring-security, core-security-core, spring-security-config, spring-зависимости контекста к файлу POM.

Тем не менее, я по-прежнему получаю следующее сообщение об ошибке: org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем 'RememberMeFilter', определенного в ресурсе пути класса [META-INF / App-setup / applicationcontext-security.xml]: не удалось создать экземпляр компонента;вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter]: конструктор по умолчанию не найден;Вложенное исключение - java.lang.NoSuchMethodException: org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter. () в org.springframework.beans.factory.support.AbstractAwtof.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1046) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:504) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java!230) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:299) в org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:194) в org.springframework.actan.Feans.BeansFile755) в org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:757) в org.springframework.context.support.AbstractApplicationContext.refwork (80) .tete,eclipse.jetty.server.handler.ContextHandler.callContextInitialized (ContextHandler.java:800) в org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized (ServletContextHandler.java:444) по адресу org.eclipse.jetty.server.handler.ContextHandler.startContext (ContextHandler.java:791) по адресу org.eclipse.jetty.servlet.ServletContextHandteg (Serg).eclipse.jetty.webapp.WebAppContext.startWebapp (WebAppContext.java:1349) atg(WebAppContext.java:1342) в org.eclipse.jetty.server.handler.ContextHandler.doStart (ContextHandler.java:741) в org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:5)eclipse.jetty.maven.plugin.JettyWebAppContext.doStart (JettyWebAppContext.java:365) в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) в org.ecl.ContainerLifeCycle.start (ContainerLifeCycle.java:132) в org.eclipse.jetty.util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java: 114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart (AbstractHandler.java:61)в org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart (ContextHandlerCollection.java:163) в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) в org.ecetul.component.ContainerLifeCycle.start (ContainerLifeCycle.java:132) в org.eclipse.jetty.util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java:114) в org.eclipse.jetty.serverStHart.HandlerHerler.java: 61) в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) в org.eclipse.jetty.util.component.ContainerLifeCycle.start (ContainerLifeCycle.java:132) в orgeclipse.jetty.server.Server.start (Server.java:387) в org.eclipse.jetty.util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java:114) в org.eclipse.jetty.server.handler.AbstractHandler .AbstractHanddoStart (AbstractHandler.java:61) в org.eclipse.jetty.server.Server.doStart (Server.java:354) в org.eclipse.jetty.maven.plugin.JettyServer.doStart (JettyServer.java: 73) в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) в org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty (AbstractJettyMojo.javag.ecse. atse. At34)jetty.maven.plugin.AbstractJettyMojo.execute (AbstractJettyMojo.java:357) в org.eclipse.jetty.maven.plugin.JettyRunMojo.execute (JettyRunMojo.java:167) в org.apache.joeflupluginDefaultBuildPluginManager.java:134) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) в org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:153 at или org).apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:145) в org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:116) в org.apache.ternal_life..LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:80) в org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51) в org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:307) в org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:193) в org.apache.maven.DefaultMaven.execute (DefaultMaven.java:106) в org.apache.maven.cli.MavenCli.execute (MavenCli.java:862) вorg.apache.maven.cli.MavenCli.doMain (MavenCli.java:286) в org.apache.maven.cli.MavenCli.main (MavenCli.java:197) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) вsun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.redj.ing.tj.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) в org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) в org.codehaus.plexus.classworlds.launcher.r.mainWithExitCode (Launcher.java:415) в org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356), вызванный: org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.spring.security.web.authentication.rememberme.RememberMeAuthenticationFilter]: не найден конструктор по умолчанию;Вложенное исключение - java.lang.NoSuchMethodException: org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter. () в org.springframework.beans.factory.support.SimpleInstantiationStrategy.ratiti (членство в браке).beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean (AbstractAutowireCapableBeanFactory.java:1094) ... еще 65Вызывается:.java: 2178) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:80) ... еще 66

У меня отсутствуют какие-либо зависимости?

1 Ответ

0 голосов
/ 25 мая 2018

Правильный путь к классу для RememberMeAuthenticatioinProvider :

org.springframework.security.authentication.RememberMeAuthenticationProvider

Я думаю, что в вашем документе есть опечатка.

Ваша другая ссылка на бин должна бытьтоже обновлено

Редактировать

Кажется, вы используете более новую версию RememberMeAuthenticationProvider, чем ваш документ.

Конструктор по умолчаниюдля RememberMeAuthenticationProvider больше не публично.Это единственный оставшийся конструктор:

RememberMeAuthenticationFilter(AuthenticationManager authenticationManager, RememberMeServices rememberMeServices) 

Таким образом, вы должны предоставить аргументы конструктора:

<bean id="rememberMeAuthenticationProvider"
    class="org.springframework.security.authentication.rememberme.RememberMeAuthenticationProvider">
    <constructor-arg ref="yourAuthManager"/>
    <constructor-arg ref="rememberMeServices"/>
    <property name="key" value="springRocks" />
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...