AuthenticationManager无法注入

来源:6-8 令牌配置

qq_SimplePoint_0

2018-07-26

@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {


   @Autowired
   private AuthenticationManager authenticationManager;

   //...

}

写回答

6回答

代码有毒

2018-08-10

@Configuration
@EnableAuthorizationServer
public class MyAuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
    private final AuthenticationManager authenticationManager;

    public MyAuthorizationServerConfig(
            AuthenticationConfiguration authenticationConfiguration) throws Exception {
        this.authenticationManager = authenticationConfiguration.getAuthenticationManager();
    }

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory()
                .withClient("myid")
                .secret("myid")
                .redirectUris("http://example.com", "http://ora.com")
                .and()
                .withClient("myid2")
                .secret("myid2")
                .redirectUris("http://example.com", "localhost:8080")
                .authorizedGrantTypes("refresh_token", "password")
                .accessTokenValiditySeconds(7200)
                .scopes("all", "read", "write");
    }

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

    @Override
    public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
        security.passwordEncoder(NoOpPasswordEncoder.getInstance());
    }
}

给你个完整的配置。spring boot2的

2
1
奔跑中的耗子
你好,这么配置,不报错,但是无法刷新token
2019-07-07
共1条回复

代码有毒

2018-08-08

https://github.com/zq99299/essay-note/blob/master/chapter/imooc/spring_security/oauth/%E5%AE%9E%E7%8E%B0%E6%A0%87%E5%87%86%E7%9A%84OAuth%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E5%95%86.md#%E6%8E%88%E6%9D%83%E7%A0%81%E6%A8%A1%E5%BC%8F-%E6%8E%88%E6%9D%83


不需要配置什么,这个是笔记,希望能帮到你

1
0

代码有毒

2018-08-10

    private final AuthenticationManager authenticationManager;

    public MyAuthorizationServerConfig2(
            AuthenticationConfiguration authenticationConfiguration) throws Exception {
        this.authenticationManager = authenticationConfiguration.getAuthenticationManager();


这样可以。 你可以完全的去复制 OAuth2AuthorizationServerConfiguration 的配置。 里面其实简化下来,就是配置客户端信息,加一个authenticationManager 就可以了

0
0

代码有毒

2018-08-10

OAuth2AuthorizationServerConfiguration 该类是 EnableAuthorizationServer 的自动配置类;
如果我们 继承了 AuthorizationServerConfigurerAdapter,那么该类将不会被初始化,认证服务器将不能正常工作


```java
org.springframework.boot.autoconfigure.security.oauth2.authserver.OAuth2AuthorizationServerConfiguration
```

哥们。 我今天看到这个地方才明白你的问题是什么,的确是啊。对比了源码,sb2 的自动配置里面没有sb1.5里面多。 就如上面的总结一样。 目前我也是一脸懵逼

0
0

花开北海

2018-08-01

你应该是升级到spring security 5.x 了,自行配置一个bean即可:

//img.mukewang.com/szimg/5b6111c70001745210790578.jpg

0
7
hhmooc
回复
花开北海
太感谢你了
2019-07-09
共7条回复

JoJo

2018-07-30

注入这个干什么?这个不能注入的。

0
2
hhmooc
回复
奔跑中的耗子
你好,你的问题解决了吗?现在我也遇到这个问题
2019-07-09
共2条回复

Spring Security技术栈开发企业级认证与授权

Spring Security技术栈,REST风格开发常见接口,独立开发认证授权模块保证REST服务安全

2662 学习 · 1561 问题

查看课程