所以我有这个应用程序,仅在提供有效的oauth令牌时才允许访问其资源。我已经有一个@EnableResourceServer类,该类处理对不同端点的基于角色的访问。但是下面的代码块的目的是什么?除非我在通用块中添加一些通用用户名/密码,否则我的应用程序无法启动。这里的用户/角色/密码与访问资源无关。只要oauth令牌中的角色与@EnableResourcesServer中指定的角色匹配,调用方就会从应用程序获得正确的响应。
@EnableWebSecurity(debug = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception
{
auth.inMemoryAuthentication() // creating user in memory
.withUser("user")
.password("password").roles("USER")
.and().withUser("admin")
.password("password").authorities("ROLE_ADMIN");
}
}
答案 0 :(得分:0)
我发现了问题,这是因为我将对资源的访问分为两个类,一个@EnableResourceServer和一个@EnableWebsecurity。在删除@EnableWebSecurity类并将所有访问控制移至@EnableResourceServer之后,该问题得以解决。