我想配置spring-security,以便默认情况下不允许对我的REST端点发出请求,只允许在指定访问条件时进行访问。
我可以进行以下配置,而不是使用@PreAuthorize(" isAuthenticated()")注释每个控制器方法
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyMatchers("/public/**).permitAll()
.anyRequest().authenticated();
}
角色是否有类似的配置选项?我希望默认情况下无法访问所有端点,并且必须为每个端点方法指定所需的角色(或者该端点不需要角色)。
这样,如果我忘记指定所需的角色或者不需要角色,那么没有人可以访问。
答案 0 :(得分:0)
按角色保护api
例如
http.authorizeRequests()
.antMatchers("/api/*")
.access("hasRole('ROLE_USER') or hasRole('ROLE_ADMIN')")