我扩展了 WebSecurityConfigurerAdapter
来配置自定义身份验证和授权。我引入了一个新的 API,即“/v1/api”。我的要求如下,
- 此 API 应该由具有“API_ROLE”角色的实体调用,而没有其他人
- 此外,拥有“API_ROLE”的人员不应能够调用系统中的任何其他 API。
我的配置会是什么样子?
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/v1/api**").hasAuthority("ROLE_API");
上面的代码实现了目的1,如何阻止具有此角色的人访问任何其他API?
最佳答案
您可以使用以下 Java 配置。
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/v1/api**").hasAuthority("ROLE_API")
.and().authorizeRequests()
.antMatchers("/**").not().hasAuthority("ROLE_API");
关于java - 在 Spring Security 中设置自定义身份验证和角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37112800/