请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

AuthenticationManager无法注入

@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {


   @Autowired
   private AuthenticationManager authenticationManager;

   //...

}

正在回答 回答被采纳积分+3

6回答

代码有毒 2018-08-10 17:42:33
@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 回复 有任何疑惑可以回复我~
  • 你好,这么配置,不报错,但是无法刷新token
    回复 有任何疑惑可以回复我~ 2019-07-07 17:07:38
代码有毒 2018-08-08 18:33:34

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 回复 有任何疑惑可以回复我~
代码有毒 2018-08-10 17:34:45
    private final AuthenticationManager authenticationManager;

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


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

0 回复 有任何疑惑可以回复我~
代码有毒 2018-08-10 00:15:51
OAuth2AuthorizationServerConfiguration 该类是 EnableAuthorizationServer 的自动配置类;
如果我们 继承了 AuthorizationServerConfigurerAdapter,那么该类将不会被初始化,认证服务器将不能正常工作


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

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

0 回复 有任何疑惑可以回复我~
花开北海 2018-08-01 09:50:02

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

https://img1.sycdn.imooc.com//szimg/5b6111c70001745210790578.jpg

0 回复 有任何疑惑可以回复我~
  • hhmooc #1
    自动配置一个bean后,访问/oauth/token一直弹出登陆框,控制台报
    Encoded password does not look like BCrypt
    回复 有任何疑惑可以回复我~ 2019-07-09 10:19:13
  • 花开北海 回复 hhmooc #2
    spring security是 5.几的
    回复 有任何疑惑可以回复我~ 2019-07-09 10:24:03
  • hhmooc 回复 花开北海 #3
    5.0.9.RELEASE
    回复 有任何疑惑可以回复我~ 2019-07-09 10:46:34
JoJo 2018-07-30 20:16:15

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

0 回复 有任何疑惑可以回复我~
  • 新版本里不行,按@代码有毒的配置也有问题,无法进行token刷新
    回复 有任何疑惑可以回复我~ 2019-07-07 16:59:10
  • 你好,你的问题解决了吗?现在我也遇到这个问题
    回复 有任何疑惑可以回复我~ 2019-07-09 09:37:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信