我的要求是我想限制用户访问某些特定的API,即将用户分组以访问某些API。例如: 假设我的用户为A,B,C,D,而Apis的用户为a,b,c,d,e,f,i,j。我希望用户A访问a,b和c API;用户B访问b,c,d;用户C访问e,f,i API,用户D访问D API。
预先感谢您的帮助。
答案 0 :(得分:0)
如果没有其他考虑,最简单的解决方案可能是为每个端点分配GrantedAuthorities。
@Bean
public UserDetailsService userDetailsService() {
InMemoryUserDetailsManager inMemoryUserDetailsManager = new InMemoryUserDetailsManager();
inMemoryUserDetailsManager.createUser(
User.builder()
.username("A")
.password("secret")
.authorities("a","b","c")
.build());
return inMemoryUserDetailsManager;
}