0

これは私が書いた私のコードであり、ここで私のカスタムユーザーディテールサービスを使用しましたが、このコードビーンを実行しようとするたびにexpectionが出て来ています 私は知りたいのですが、オブジェクトには1つのメソッドauth.jdbcAuthentication()があります。私は、この内部のinit()Spring Cloud Dataflowでjdbcユーザー認証を実装する方法はありますか?

securityStateBean.setAuthenticationEnabled(true); 
    securityStateBean.setAuthorizationEnabled(false); 

org.springframework.beans.factory.BeanCreationExceptionやった後

This is the info i got from shell

この

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が役に立つかもしれません推測

This is the error im getting

+0

あなたはhttp://docs.spring.io/spring-cloud-dataflow/docs/current-SNAPSHOT/reference/htmlsingle/をチェックしましたか? –

答えて

1

を省略しました。

また、sampleもあります。

+0

ドキュメントを読んでいただきありがとうございます。実際には、ちょうど春のブートとセキュリティと私はこの春 - 雲 - データフローのユーザー認証の部分を変更しようとしている初心者です。ありがとうございました –

+0

こんにちは、私は 'code' auth.jdbcAuthentication()。dataSource(dataSource).usersByUsernameQueryを使用してこれを試しました("ユーザー名、パスワード、 user_rolesからのロール、username =? ");私はmain.jsで認証が有効かどうかに関して/ feature controllerから来ていたかどうかに関して詳細を取得できません。しかし、私は問題は何か手がかりがありません。 –

+0

シェル経由でサーバーに接続するとどうなりますか。スタックトレースなどは、問題をよりよく理解するのに役立ちます。 –

関連する問題