使用spring-security和oauth2配置方法级别认证

时间:2019-05-08 10:38:33

标签: java spring-boot spring-security oauth-2.0 spring-security-oauth2

我需要使用oauth2使用方法级别范围检查来配置preAuthorize。 我添加了所有配置,如下所示。它总是将我重定向到用户名,密码控制台。就我而言,我只想验证给定访问令牌的范围,并且必须禁用用户名和登录屏幕。

//configuration class
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {

    @Override
    protected MethodSecurityExpressionHandler createExpressionHandler() {
        OAuth2MethodSecurityExpressionHandler expressionHandler = new OAuth2MethodSecurityExpressionHandler();

        return expressionHandler;
    }
}
//controller class
@RestController
public class UserInformationController {

    @PreAuthorize("#oauth2.hasScope('testscope')") 
    @RequestMapping("/me")
    public UserInformation getUserDetails (@RequestHeader(required = false, value = "Authorization" ) String token) {
    return getUserInformation(token);
    }
}
//spring-boot class
@SpringBootApplication
public class MindsphereSampleApplication {

    public static void main(String[] args) {
        SpringApplication.run(MindsphereSampleApplication.class, args);
    }
}

它将我重定向到不需要的用户名和登录屏幕。

0 个答案:

没有答案