假设我有一个用户具有以下身份验证:
List<GrantedAuthority> grantedAuthorities = new ArrayList<>();
grantedAuthorities.add(new SimpleGrantedAuthority("READ_PRODUCT"));
grantedAuthorities.add(new SimpleGrantedAuthority("WRITE_PRODUCT"));
SecurityContextHolder.getContext().setAuthentication(new UsernamePasswordAuthenticationToken("usr", "pwd", grantedAuthorities));
Run Code Online (Sandbox Code Playgroud)
在安全检查中,我应该检查用户是否具有访问 API 的正确权限。我做了以下事情来实现它:
http
.httpBasic().disable()
.authorizeRequests()
.antMatchers(HttpMethod.GET, "/product/**").hasAuthority("READ_PRODUCT");
Run Code Online (Sandbox Code Playgroud)
这里我hasAuthority()用来检查用户是否有正确的权限,但是我发现还有一个方法被调用了hasRole()但是我不知道这两个方法的区别是什么?谁能解释我的区别,如果我想在hasRole()这里使用,我如何在这里使用它?我试图替换hasAuthority()为hasRole()但没有成功
| 归档时间: |
|
| 查看次数: |
3365 次 |
| 最近记录: |