これは私が書いた私のコードであり、ここで私のカスタムユーザーディテールサービスを使用しましたが、このコードビーンを実行しようとするたびにexpectionが出て来ています 私は知りたいのですが、オブジェクトには1つのメソッドauth.jdbcAuthentication()があります。私は、この内部のinit()Spring Cloud Dataflowでjdbcユーザー認証を実装する方法はありますか?
securityStateBean.setAuthenticationEnabled(true);
securityStateBean.setAuthorizationEnabled(false);
org.springframework.beans.factory.BeanCreationExceptionやった後
この
package org.springframework.cloud.dataflow.server.config.security;
/**
* Created by smajumder on 16-May-17.
*/
import org.apache.tomcat.jdbc.pool.DataSource;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
@EnableWebSecurity
@ConditionalOnProperty("security.authentication.jdbc.enabled")
@ConfigurationProperties(prefix =
JDBCAuthenticationConfiguration.CONFIGURATION_PROPERTIES_PREFIX)
public class JDBCAuthenticationConfiguration extends
GlobalAuthenticationConfigurerAdapter {
public static final String CONFIGURATION_PROPERTIES_PREFIX ="security"
+ ".authentication.jdbc";
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(JDBCAuthenticationConfiguration.class);
@Autowired
private CustomUserDetailsService userDetailsService ;
@Autowired
private DataSource dataSource;
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception {
logger.info("JDBC authentication Starting .....");
auth.userDetailsService(userDetailsService).passwordEncoder(passwordencoder());
logger.info("JDBC authentication Enabled .....");
}
@Bean(name="passwordEncoder")
public PasswordEncoder passwordencoder(){
return new BCryptPasswordEncoder();
}
}
は、スタックトレースです:名前を持つBeanを作成エラー 'springSecurityFilterChain'クラスパスリソース[org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]で定義されています:ファクトリメソッドによるBeanインスタンス化に失敗しました。ネストされた例外はorg.springframework.beans.BeanInstantiationExceptionです:[javax.servlet.Filter]のインスタンス化に失敗しました:ファクトリメソッド 'springSecurityFilterChain'が例外をスローしました。ネストされた例外はjava.lang.IllegalStateExceptionです:org.springframework.security.config.annotation.authentic
[email protected]629f066fを既にビルドされたオブジェクトに適用できません at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory.java:1173)〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod 〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)〜[spring-beans- 4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableB (AbstractAutowireCapableBeanFactory.java:513)〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory。 java:483)〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:306)〜 [spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)〜[spring-beans-4.3 .7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)〜[spring-beans-4.3.7.RELEASE.jar] !/:4.3.7.RELEASE] at org.springframework.beans.factory。 .BeanFactory.getBean(AbstractBeanFactory.java:197)〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:296)〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)〜[spring-beans- 4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)〜[spring-context-4.3.7.RELEASE.jar! /:4.3.7.RELEASE] at org.springframework.context.supp ort.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)〜[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh EmbeddedWebApplicationContext.java:122)〜[spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE] at org.springframework.boot.SpringApplication。リフレッシュ(SpringApplication.java:737)[spring-boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)[spring- boot-1.5.2.RELEASE.jar!/:1.5.2.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)[spring-boot-1.5.2.RELEASE.jar!/ :1.5.2.RELEASE] org.springframework.boot.SpringApplication.runで (SpringApplication.java:1162)[春ブート-1.5.2.RELEASE.jar /:!1.5.2.RELEASE]組織で 。 springframework.boot.SpringApplication.run(SpringApplication.java:1151)[春ブート-1.5.2.RELEASE.jar /:!1.5.2.RELEASE] org.springframework.cloud.dataflow.server.local.LocalDataFlowServerで .main(LocalDataFlowServer.java:38)[classes!/:1.2.0.RELEASE] at sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)〜 [NA:1.8.0_91] sun.reflect.NativeMethodAccessorImpl.invoke(不明なソース)〜[NA:1.8.0_91]で sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース)で〜[NA:1.8.0_91] (UnMainSource)〜[na:1.8.0_91] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)[spring-cloud-dataflow-server -local-1.2.0.RELEASE.jar:1.2.0.RELEASE] at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)[spring-cloud-dataflow-server-local-1.2。 0.RELEASE.jar:1.2.0.RELEASE] at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)[spring-cloud-dataflow-server-local-1.2.0.RELEASE.jar] :1.2.0.RELEASE] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)[spring-cloud-dataflow -server-ローカル1.2.0.RELEASE.jar:1.2.0.RELEASE] によって引き起こさ:org.springframework.beans.BeanInstantiationException:【は、javax.servlet.Filter]インスタンス化に失敗しました:ファクトリメソッド 'springSecurityFilterChain' を例外をスロー。ネストされた例外はjava.lang.IllegalStateExceptionです:org.springframework.security.config.annotation.authentic
[email protected]629f066fを既にビルドされたオブジェクトに適用できません at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate SimpleInstantiationStrategy.java:189)〜[spring-beans-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) 〜[春豆-4.3.7.RELEASE.jar /:!4.3.7.RELEASE] ... 28の共通フレームはによって引き起こさ 省略:java.lang.IllegalStateExceptionを:org.springframework.security.configを適用することはできません。既にビルドされたオブジェクトへのannotation.authentic
[email protected]629f066f at org.springframework.sec org.springframework.security.configで :urity.config.annotation.AbstractConfiguredSecurityBuilder.add(AbstractConfiguredSecurityBuilder.java:196)〜[4.2.2.RELEASE春-セキュリティ設定-4.2.2.RELEASE.jar /!]。 annotation.AbstractConfiguredSecurityBuilder.apply(AbstractConfiguredSecurityBuilder.java:133)〜[春-セキュリティ設定-4.2.2.RELEASE.jar /:!4.2.2.RELEASE] org.springframework.security.config.annotation.authenticationで 。ビルダー.AuthenticationManagerBuilder.apply(AuthenticationManagerBuilder.java:290)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.authentication。ビルダー.AuthenticationManagerBuilder.jdbcAuthentication(AuthenticationManagerBuilder.java:164)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.cloud.dataflow.server.config security.JDBCAuthenticaコンフィグレーションコンフィグレーション(JDBCAuthenticationConfiguration.java:72)〜[spring-cloud-dataflow-server-core-1.2.1.RELEASE.jar!/:1.2.1.RELEASE] at org.springframework.cloud.dataflow.server。 config.security.JDBCAuthenticationConfiguration.configure(JDBCAuthenticationConfiguration.java:37)〜[spring-cloud-dataflow-server-core-1.2.1.RELEASE.jar!/:1.2.1.RELEASE] at org.springframework.cloud。 dataflow.server.config.security.JDBCAuthenticationConfiguration $$ EnhancerBySpringCGLIB $$ 1a0e187f.configure()〜[spring-cloud-dataflow-server-core-1.2.1.RELEASE.jar!/:1.2.1.RELEASE] .springframework.security.config.annotation.AbstractConfiguredSecurityBuilder。(AbstractConfiguredSecurityBuilder.java:384)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.doBuild(AbstractConfiguredSecurityBuilder。 java:330)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.AbstractSecurityBuilder.build(AbstractSecurityBuilder.java:41) 〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration.getAuthenticationManager(AuthenticationConfiguration.java:105) 〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.authenticationManager(WebSecurityConfigurerAdapter.jav) a:262)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.getHttp(WebSecurityConfigurerAdapter。 java:195)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.init(WebSecurityConfigurerAdapter。 java:315)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.init(WebSecurityConfigurerAdapter。 java:86)〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration $ ApplicationNoWebSecurityConfigurerAdapter $$ EnhancerBySpringCGLIB $$ 36139df2。 init()〜[spring-boot-autoconfig (SpringConfiguredSecurityBuilder.java:371)〜[spring-security-config-4.2]。 2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder.doBuild(AbstractConfiguredSecurityBuilder.java:325)〜[spring-security-config-4.2.2.RELEASE。 jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.AbstractSecurityBuilder.build(AbstractSecurityBuilder.java:41)〜[spring-security-config-4.2.2.RELEASE.jar!/: 4.2.2.RELEASE] at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.springSecurityFilterChain(WebSecurityConfiguration.java:104)〜[spring-security-config-4.2.2.RELEASE.jar!/: 4.2.2.RELEASE] at org.springfr amework.security.config.annotation.web.configuration.WebSecurityConfiguration $$ EnhancerBySpringCGLIB $$ 5141ef61.CGLIB $ springSecurityFilterChain $ 6()〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration $$ EnhancerBySpringCGLIB $$ 5141ef61 $$ FastClassBySpringCGLIB $$ cbf558e0.invoke()〜[spring-security-config-4.2.2.RELEASE.jar!/ :4.2.2.RELEASE] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)〜[spring-core-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] org.springframework.context.annotation.ConfigurationClassEnhancer $ BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)〜[spring-context-4.3.7.RELEASE.jar!/:4.3.7.RELEASE] at org.springframework.security .config.annotation.web.configuration.WebSecurityConfiguration $$ EnhancerBySpri nigCGLIB $$ 5141ef61.springSecurityFilterChain()〜[spring-security-config-4.2.2.RELEASE.jar!/:4.2.2.RELEASE] at sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)〜[na:1.8 [不明なソース]〜[na:1.8.0_91] at sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース)〜[na:1.8.0_91] at java.lang .reflect.Method.invoke(不明なソース)〜[na:1.8.0_91] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)〜[spring-beans-4.3.7。 RELEASE.jar!/:4.3.7.RELEASE] ...29の一般的なフレームは、私はこの
docが役に立つかもしれません推測
あなたはhttp://docs.spring.io/spring-cloud-dataflow/docs/current-SNAPSHOT/reference/htmlsingle/をチェックしましたか? –