我使用Spring Boot创建我的微服务,并且我启用了OAuth2以增加我的服务的安全性。
然而,有一些方法我无法理解那时之间有什么区别。例如,我有以下代码:
@Override
public void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.sessionManagement().sessionCreationPolicy(STATELESS);
http.authorizeRequests()
.antMatchers(POST, "/v1/files/").access("#oauth2.clientHasRole('ROLE_CLIENT')");
}
在此示例中,我使用 access 方法检查将要访问我的服务的系统是否具有ROLE_CLIENT角色。
问题是:以下方法之间的主要区别是什么:
答案 0 :(得分:1)
hasRole(NAME)
检查客户端是否ROLE_NAME
是否hasAuthority(NAME)
仅检查NAME
个角色。
答案 1 :(得分:0)
hasRole(" CLIENT")相当于hasAuthority(" ROLE_CLIENT")