使用OAuth 2进行Spring Boot

时间:2016-10-04 17:36:10

标签: java spring spring-boot oauth-2.0

我使用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角色。

问题是:以下方法之间的主要区别是什么

  • hasRole
  • hasAuthority
  • 访问

2 个答案:

答案 0 :(得分:1)

hasRole(NAME)检查客户端是否ROLE_NAME是否hasAuthority(NAME)仅检查NAME个角色。

答案 1 :(得分:0)

hasRole(" CLIENT")相当于hasAuthority(" ROLE_CLIENT")