Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于身份验证管理器的自动连线_Java_Spring_Spring Boot_Spring Security_Oauth 2.0 - Fatal编程技术网

Java 用于身份验证管理器的自动连线

Java 用于身份验证管理器的自动连线,java,spring,spring-boot,spring-security,oauth-2.0,Java,Spring,Spring Boot,Spring Security,Oauth 2.0,我想为Oauth2实现一个授权和一个资源服务器,它是我的参考站点,但是私有AuthenticationManager AuthenticationManager在intellij上给了我一个错误,比如“无法自动连线”,那么我如何修复它呢 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import

我想为Oauth2实现一个授权和一个资源服务器,它是我的参考站点,但是私有AuthenticationManager AuthenticationManager在intellij上给了我一个错误,比如“无法自动连线”,那么我如何修复它呢

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;

@Configuration
@EnableAuthorizationServer
public class AuthorizationServer extends AuthorizationServerConfigurerAdapter {

    @Autowired
    private AuthenticationManager authenticationManager;

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        endpoints.authenticationManager(authenticationManager);
    }

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory().withClient("javainuse-client").secret("javainuse-secret")
                .authorizedGrantTypes("client_credentials").scopes("resource-server-read", "resource-server-write");
    }
}

如果您必须使用AuthenticationManager(这并不总是正确的,这取决于您如何管理用户),则需要将其公开为bean。像这样:

@Configuration
public static class AuthenticationMananagerProvider extends WebSecurityConfigurerAdapter {

    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }
}
资料来源(这是一本有趣的读物,提供了许多见解):